Intelligencia.UrlRewriter یک DLL رایگان برای انجام بازنویسی URLها در ASP.Net میباشد. به این صورت که بر اساس تنظیماتی که در فایل Web.Config انجام میشود، عمل تغییر URL را انجام میدهد و با زبان فارسی نیز سازگار است؛ مثل استفاده از عنوان فارسی در URL برای SEO بهتر:
مثالهای بیشتر
برای استفاده، ابتدا DLL مورد نظر را دانلود و به Referencesها اضافه میکنیم؛ دانلود فایل Intelligencia.UrlRewriter.dll
دانلود آخرین نسخهی فایل از سایت مرجع: urlrewriter.net
مرحلهی بعد تنظیمات Web.Config است که به صورت زیر میباشد:
<configuration><configSections><section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" /></configSections><system.web><httpModules><add type="Intelligencia.UrlRewriter.RewriterHttpModule,Intelligencia.UrlRewriter" name="UrlRewriter" /></httpModules></system.web><rewriter><rewrite url="^.*-T([0-9]+)/?$*" to="~/ShowTerol.aspx?ID=$1" processing="stop" /></rewriter></configuration>
مرحله بعد تنظیم این است که کدام لینکها بازنویسی شوند که در کدهای بالا فقط یک مدل بازنویسی وجود دارد:
<rewrite url="^.*-T([0-9]+)/?$*" to="~/ShowTerol.aspx?ID=$1" processing="stop" />
و میگوید تمام لینکهایی را که در آخر آنها T- و عدد وجود دارد، به صفحهی ShowTerol.aspx با یک کوئری استرینگ به نام ID که مقدار آن، همان عدد بعد حرف T میباشد بفرست.
یعنی این لینک را
به این لینک تبدیل میکند
ShowTerol.aspx?ID=87
<rewrite url="^.*-p([0-9]+)/?$*" to="~/Products.aspx?p=$1" processing="stop"/><rewrite url="^.*-c([0-9]+)pa([0-9]+)/?$*" to="~/Default.aspx?c=$1&pa=$2" processing="stop"/><rewrite url="^.*-c([0-9]+)/?$*" to="~/Default.aspx?c=$1" processing="stop"/>
الگوی تبدیلات توسط Regular Expansion