اندازهی قلم متن
تخمین مدت زمان مطالعهی مطلب:
یک دقیقه
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