نماد سایتنماد سایت بلاگ ایران هاست

تبدیل آدرس های وب به آدرس های دلخواه از طریق ماژول URL Rewrite در IIS 7.5

ماژول URL Rewrite درخواست های آدرس های وب را به آدرسی ساده ، کاربر پسند و روان برای موتورهای جستجو که برای کاربران و یا در برنامه های وب نمایش داده می شود ، بازنویسی می کند. URL Rewrite قبل از آنکه توسط وب سرور پردازش شود، از قواعد تعریف شده ای ، برای ارزیابی و سپس ترسیم آدرس درخواست شده به آدرس تعریف شده استفاده می کند.

فهرست این مقاله ( با کلیک روی هر عنوان به آن قسمت منتقل می شوید) پنهان

تبدیل آدرس های وب به آدرس های دلخواه با URL Rewrite 

شما می توانید منطق بازنویسی صفحه را تعیین نمایید که شامل عبارات منظم و قواعدی است که می تواند براساس درخواست آدرس از طرف هدرهای HTTP و متغیرهای سرور قرار بگیرد. گرچه که وظیفه اصلی این ماژول آسان نمودن نحوه خواندن و نوشتن آدرس های اینترنی سایت می باشد، اما شما همچنین می توانید از این ابزار برای تغییر مسیر ، ارسال پاسخ های دلخواه یا لغو درخواست استفاده نمایید.

بازنویسی محدوده قواعد:

قواعد بازنویسی در دو مجموعه متفاوت تعریف می شوند :

<globalRules> : قواعد موجود در این مجموعه فقط در سطح مدیر سرور می توانند تعریف شوند. قواعد سراسری برای تعیین منطق بازنویسی آدرس در سرتاسر سرور استفاده می شوند. این قواعد با عنوان فایل Applicationhost.config مشخص می شوند.

<rules> : قواعد موجود در این مجموعه با عنوان قواعد تقسیم شده نام برده می شوند و در هر سطحی می توانند تعریف شوند. این قواعد جهت بازنویسی آدرس برای یک یک وب سایت استفاده می شوند. این قواعد می توانند با استفاده از برچسب های <location> در فایل های Applicationhost.config یا web.config اضافه شوند.

ارزیابی قواعد:

هر سطح پیکربندی در IIS می تواند تعدادی قواعد بازنویسی تعریف شده را داشته باشد. ماژول بازنویسی آدرس مجموعه ای از قواعد را با استفاده از الگوریتم زیر پردازش می کند :

۱-ابتدا آدرس با الگوی قواعد همسان خود مقایسه می شود و در صورتی که با قوانین موجود همخوانی نداشته باشد ، ماژول بازنویسی آدرس، پردازش را متوقف می کند و به قاعده بعدی می رود.

۲- اگر با الگو منطبق بود و شرط دیگری برای این قاعده وجود نداشت ، ماژول بازنویسی آدرس عمل مشخص شده برای این قاعده را انجام می دهد و سپس به سراغ قاعده بعدی می رود ، که در آنجا از آدرس جایگزین برای این قاعده استفاده می کند.

۳- اگر با الگو منطبق بود و شرایط دیگری نیز برای آن وجود داشت ، ماژول بازنویسی آدرس، شرایط را ارزیابی می کند و در صورتیکه ارزیابی موفقیت آمیز باشد ، قاعده مشخص شده انجام می شود و سپس آدرس بازنویسی شده به صورت کامل پرداژش می گردد.

دسترسی به تکه های آدرس از یک URL Rewrite :

 اطلاع از چگونگی دسترسی بخشهای خاصی از رشته آدرس به قواعد بازنویسی شده از اهمیت بالایی برخوردار است.

آدرس HTTP مانند آدرس مقابل را در نظر بگیرید : http(s)://<host>:<port>/<path>?<querystring>

به عنوان مثال ، آدرس زیر را در نظر بگیرید :

http://www.mysite.com/content/default.aspx?tabid=2&subtabid=3

که یک  قانون بازنویسی  به شرح زیر برای آن تعریف شده است :

توجه داشته باشید که رشته ورودی آدرس اختصاص یافته ، همیشه به محل فایل web.config که در قاعده تعریف شده است ، اشاره می کند.

به عنوان مثال ، اگر یک درخواست برای این آدرس ساخته شود:

http://www.mysite.com/content/default.aspx?tabid=2&subtabid=3

و یک URL Rewrite در فولدر /content برای آن تعریف شده باشد ، سپس قانون تعریف شده، آدرس default.aspx را به عنوان ورودی برمی گرداند.

خروج از نسخه موبایل