دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
دانشنامه مارال هاست دانشنامه مارال هاست
دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
ویندوز
  • Folder icon closed Folder open iconویندوز سرور چیست و چه کاربردی دارد؟
  • Folder icon closed Folder open iconتفاوت Windows Server با Windows معمولی
  • Folder icon closed Folder open iconآشنایی با Server Manager در Windows Server
  • Folder icon closed Folder open iconFeature در Windows Server چیست؟ آشنایی با قابلیت‌ های تکمیلی ویندوز سرور
  • Folder icon closed Folder open iconآشنایی با Windows Admin Center؛ مدیریت ویندوز سرور از طریق مرورگر
  • Folder icon closed Folder open iconآشنایی با PowerShell در Windows Server؛ معرفی دستورات و کاربردها
  • Folder icon closed Folder open iconآموزش تنظیم و تغییر رمز عبور Administrator در Windows Server
  • Folder icon closed Folder open iconآموزش تنظیم Hostname در Windows Server
  • Folder icon closed Folder open iconآموزش تنظیم DNS در کارت شبکه Windows Server
  • Folder icon closed Folder open iconتنظیم Gateway در Windows Server
  • Folder icon closed Folder open iconآموزش تنظیم تاریخ و ساعت در Windows Server
  • Folder icon closed Folder open iconآموزش فعال‌سازی Remote Desktop در Windows Server
  • Folder icon closed Folder open iconآموزش تغییر پورت RDP در Windows Server
  • Folder icon closed Folder open iconبررسی وضعیت Device Manager در Windows Server
  • Folder icon closed Folder open iconآموزش نصب آپدیت‌های Windows Server
  • Folder icon closed Folder open iconآموزش تنظیم Windows Update در Windows Server
  • Folder icon closed Folder open iconغیرفعال کردن Automatic Update در شرایط خاص
  • Folder icon closed Folder open iconساخت Restore Point در Windows Server
  • Folder icon closed Folder open iconایجاد کاربر جدید در Windows Server
  • Folder icon closed Folder open iconافزودن کاربر به گروه Administrators
  • Folder icon closed Folder open iconچک‌لیست تنظیمات اولیه Windows Server
  • Folder icon closed Folder open iconآموزش تست استرس سرور ویندوز
  • Folder icon closed Folder open iconآموزش نصب iis
  • Folder icon closed Folder open iconآموزش نصب dns
  • Folder icon closed Folder open iconآموزش عیب‌یابی پر شدن ناگهانی فضای دیسک در ویندوز سرور
  • Folder icon closed Folder open iconپیدا کردن پردازش‌های مصرف‌کننده CPU
  • Folder icon closed Folder open iconتست SMTP در ویندوز به سمت مقصد
  • Folder icon closed Folder open iconآموزش ساخت رکورد های dns در ویندوز
  • Folder icon closed Folder open iconآموزش ساخت Website جدید در IIS
  • Folder icon closed Folder open iconآموزش بررسی IIS Logs برای عیب‌یابی سایت
  • Folder icon closed Folder open iconعیب‌یابی خطای 503 Service Unavailable در IIS
  • Folder icon closed Folder open iconعیب‌یابی خطای 403 Forbidden در IIS
  • Folder icon closed Folder open iconعیب‌یابی خطای 404 Not Found در IIS
  • Folder icon closed Folder open iconآموزش نصب و فعال‌سازی URL Rewrite در IIS
  • Folder icon closed Folder open iconآموزش راه‌اندازی Reverse Proxy در IIS با ARR
  • Folder icon closed Folder open iconآموزش تنظیم Binding در IIS
  • Folder icon closed Folder open iconآموزش تنظیم چند Domain روی یک IIS Server
  • Folder icon closed Folder open iconآموزش Redirect کردن HTTP به HTTPS در IIS
  • Folder icon closed Folder open iconآموزش تنظیم Application Pool در IIS
  • Folder icon closed Folder open iconعیب‌یابی خطای HTTP Error 500 در IIS
  • Folder icon closed Folder open iconآموزش بررسی System Log در Windows Server
  • Folder icon closed Folder open iconآموزش بررسی Application Log در Windows Server
  • Folder icon closed Folder open iconآموزش بررسی Security Log در Windows Server
  • Folder icon closed Folder open iconآموزش پیدا کردن Loginهای ناموفق در Windows Server
  • Folder icon closed Folder open iconآموزش پیدا کردن Process مرتبط با یک پورت با PowerShell
  • Folder icon closed Folder open iconآموزش بررسی Connectionهای فعال و Remote IPها با PowerShell
  • Folder icon closed Folder open iconآموزش دانلود فایل از اینترنت با PowerShell
  • Folder icon closed Folder open iconچرا در Windows Server فضای دیسک آزاد نمی‌شود؟ آموزش کامل عیب‌یابی فضای Disk
  • Folder icon closed Folder open iconآموزش نصب SQL Server 2025 در Windows Server
  • Folder icon closed Folder open iconآموزش مدیریت Windows Firewall با PowerShell
  • Folder icon closed Folder open iconآموزش مدیریت Application Poolهای IIS با PowerShell
  • Folder icon closed Folder open iconآموزش پیدا کردن فایل‌های حجیم با PowerShell در ویندوز
ویندوز

آموزش نصب و فعال‌سازی URL Rewrite در IIS

iis url rewrite

IIS URL Rewrite یک Module رسمی برای IIS است که امکان تغییر، Redirect یا Rewrite کردن URLها را بر اساس Ruleهای مشخص فراهم می‌کند.

از URL Rewrite می‌توان برای مواردی مانند:

  • ساخت Friendly URL
  • Redirect از URL قدیمی به جدید
  • Redirect از HTTP به HTTPS
  • تغییر ساختار URLهای Application
  • استفاده در Reverse Proxy
  • کنترل Request بر اساس Header یا Server Variable

استفاده کرد.

URL Rewrite به‌صورت Extension جداگانه برای IIS ارائه می‌شود و در صورت نیاز باید روی Server نصب شود. نسخه رسمی فعلی در سایت IIS، نسخه URL Rewrite Module 2.1 است و برای IIS 7 تا IIS 10 ارائه شده است.


URL Rewrite چه کاری انجام می‌دهد؟

یک Rewrite Rule معمولاً سه بخش اصلی دارد:

Pattern
Condition
Action

Pattern

مشخص می‌کند چه URLهایی باید Match شوند.

Condition

شرط‌های اضافی را بررسی می‌کند؛ برای مثال:

HTTP_HOST
HTTPS
REQUEST_METHOD

Action

مشخص می‌کند بعد از Match شدن Request چه اتفاقی بیفتد.

برای مثال:

Rewrite
Redirect
Custom Response
Abort Request

Microsoft نیز Rewrite Rule را بر اساس همین Pattern، Condition و Action تعریف می‌کند.


تفاوت Rewrite و Redirect

این دو مورد را نباید با یکدیگر اشتباه گرفت.

Redirect

Browser به URL جدید هدایت می‌شود و URL داخل Address Bar تغییر می‌کند.

برای مثال:

/old-page
      ↓
/new-page

Rewrite

IIS در سمت Server درخواست را به Resource دیگری ارسال می‌کند، اما URL مشاهده‌شده توسط کاربر می‌تواند همان URL اصلی باقی بماند.

برای مثال:

/product/25

در داخل Server می‌تواند به:

product.aspx?id=25

Rewrite شود.


بررسی نصب بودن URL Rewrite

قبل از نصب، ابتدا بررسی کنید Module از قبل روی Server وجود دارد یا خیر.

IIS Manager را باز کنید و Server یا Website موردنظر را انتخاب کنید.

در:

Features View

به دنبال:

URL Rewrite

بگردید.

اگر این گزینه وجود دارد، Module نصب شده است و نیازی به نصب مجدد ندارید.

iis url rewrite

نصب URL Rewrite روی IIS

URL Rewrite 2.1 را از صفحه رسمی Microsoft IIS دریافت کنید:

URL Rewrite Module — Microsoft IIS

در صفحه Download نسخه مناسب Server را انتخاب کنید.

در Windows Serverهای 64-bit معمولاً Installer:

x64

مناسب است.

نسخه:

x86

برای محیط‌های 32-bit ارائه شده است. صفحه رسمی Microsoft هر دو Installer را ارائه می‌کند.

Installer را با Administrator Permission اجرا کرده و مراحل نصب را تکمیل کنید.

پس از نصب، IIS Manager را ببندید و دوباره باز کنید.

سپس دوباره وارد:

Features View

شوید.

گزینه:

URL Rewrite

باید نمایش داده شود.


ساخت اولین Rewrite Rule

برای تست Module می‌توان یک Rule ساده ایجاد کرد.

در IIS Manager:

Sites
> Website
> URL Rewrite

را باز کنید.

از سمت راست:

Add Rule(s)

را انتخاب کنید.

سپس:

Blank rule

را انتخاب کنید.

آموزش نصب و فعال‌سازی URL Rewrite در IIS

مثال Rewrite ساده

فرض کنید Application فایل:

product.aspx

را دارد و می‌خواهیم URL زیر:

/product/25

به:

product.aspx?id=25

Rewrite شود.

یک Rule مشابه زیر ایجاد می‌کنیم:

<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Product Rewrite" stopProcessing="true">
                    <match url="^product/([0-9]+)$" />
                    <action type="Rewrite"
                            url="product.aspx?id={R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

Microsoft نیز Distributed Rewrite Ruleها را داخل:

web.config

و در بخش:

system.webServer
> rewrite
> rules

تعریف می‌کند.

در این مثال:

/product/25

داخل IIS به:

product.aspx?id=25

ارسال می‌شود، اما Browser همچنان URL اصلی را مشاهده می‌کند.


مثال Redirect ساده

برای Redirect کردن:

/old-page

به:

/new-page

می‌توان از Rule زیر استفاده کرد:

<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Redirect Old Page" stopProcessing="true">
                    <match url="^old-page$" />
                    <action type="Redirect"
                            url="/new-page"
                            redirectType="Permanent" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

در این حالت Browser به URL جدید هدایت می‌شود.


Ruleهای URL Rewrite کجا ذخیره می‌شوند؟

Ruleهای Website معمولاً داخل:

web.config

ذخیره می‌شوند.

Microsoft دو نوع اصلی Rule را تعریف می‌کند:

نوعمحلScope
Global RuleApplicationHost.configکل Server
Distributed Ruleweb.configWebsite / Application / Directory

Global Ruleها فقط در Server Level تعریف می‌شوند، در حالی که Distributed Ruleها می‌توانند در web.config هر Website قرار بگیرند.

برای Hosting Environment معمولاً Ruleهای داخل web.config کاربرد بیشتری دارند، چون Configuration مربوط به همان Website باقی می‌ماند.


ترتیب Ruleها مهم است

URL Rewrite Ruleها به همان ترتیبی که تعریف شده‌اند بررسی می‌شوند.

برای مثال:

Rule 1
Rule 2
Rule 3

اگر Rule اول Match شود و:

stopProcessing="true"

داشته باشد، Ruleهای بعدی بررسی نمی‌شوند.

به همین دلیل در Websiteهایی با Rewrite Ruleهای زیاد، ترتیب آن‌ها اهمیت دارد.


تست Rule بعد از ایجاد

بعد از ساخت Rule، URL موردنظر را مستقیماً در Browser تست کنید.

برای مثال:

https://example.com/product/25

همچنین IIS Logs را بررسی کنید:

C:\inetpub\logs\LogFiles

اگر Application هنوز:

404

برمی‌گرداند، موارد زیر را بررسی کنید:

Pattern
Destination URL
Handler
Application Path
web.config

برای بررسی Logها مقاله بررسی IIS Logs برای عیب‌یابی سایت را مطالعه کنید.


اگر URL Rewrite در IIS Manager دیده نمی‌شود

ابتدا بررسی کنید:

  • Installer مناسب Architecture نصب شده باشد.
  • نصب بدون Error تکمیل شده باشد.
  • IIS Manager بعد از نصب دوباره باز شده باشد.
  • URL Rewrite روی همان Server نصب شده باشد که Website روی آن قرار دارد.

صفحه رسمی Microsoft همچنان URL Rewrite Module 2.1 را برای IIS 7، 7.5، 8، 8.5 و IIS 10 ارائه می‌کند.


خطای 500.19 بعد از اضافه کردن Rewrite Rule

اگر بعد از اضافه کردن:

<rewrite>

داخل web.config سایت با خطای:

500.19

مواجه شد، چند مورد را بررسی کنید.

Module نصب نیست

اگر URL Rewrite روی Server نصب نشده باشد، IIS نمی‌تواند Section مربوط به:

rewrite

را پردازش کند.

ابتدا وجود:

URL Rewrite

در IIS Manager را بررسی کنید.

Configuration در سطح Server محدود شده است

در بعضی Serverها ممکن است Configuration Sectionهای خاص در Server Level Lock شده باشند و Website اجازه Override کردن آن‌ها را نداشته باشد.

Syntax فایل اشتباه است

ساختار XML فایل:

web.config

را بررسی کنید.

حتی یک Tag بسته‌نشده یا قرار گرفتن <rewrite> در محل اشتباه می‌تواند باعث Configuration Error شود.


بررسی Hosting و Subscription

در Shared Hosting یا Serverهایی که توسط Hosting Panel مانند Plesk مدیریت می‌شوند، مشتری معمولاً Administrator Access برای نصب Module روی Windows Server ندارد.

در چنین محیطی دو موضوع باید از هم جدا شوند:

نصب URL Rewrite

این کار Server-level است و باید توسط Server Administrator یا Hosting Provider انجام شود.

تعریف Rewrite Rule

اگر Module روی Server نصب باشد و Hosting Configuration اجازه دهد، Website می‌تواند Ruleهای خودش را از طریق:

web.config

تعریف کند.

Plesk نیز IIS Configuration را در سطح Server مدیریت می‌کند و بعضی تنظیمات Website فقط زمانی قابل تغییر هستند که Subscription Permission مربوطه را داشته باشد.

بنابراین اگر Customer یک web.config معتبر دارد اما Rewrite Rule کار نمی‌کند، قبل از تغییر Application بررسی کنید:

  • URL Rewrite روی Server نصب باشد.
  • Subscription فعال باشد.
  • Website روی IIS صحیح قرار گرفته باشد.
  • Hosting Provider استفاده از Configuration موردنظر را محدود نکرده باشد.
  • web.config توسط Server Policy محدود نشده باشد.

در Shared Hosting نباید برای رفع مشکل Customer اقدام به نصب یا تغییر Module بدون بررسی تأثیر آن روی کل Server کرد، چون URL Rewrite یک Component در سطح IIS Server است.


URL Rewrite و Reverse Proxy

URL Rewrite یکی از Componentهای اصلی برای پیاده‌سازی Reverse Proxy با Application Request Routing (ARR) است.

Microsoft نیز برای نصب ARR به‌صورت Manual اعلام می‌کند که URL Rewrite باید قبل از ARR نصب شده باشد.

ساختار معمول:

Client
   ↓
IIS
   ↓
URL Rewrite
   ↓
ARR
   ↓
Backend Application

برای تنظیم این سناریو مقاله:

آموزش راه‌اندازی Reverse Proxy در IIS با ARR

را مطالعه کنید.


اشتباهات رایج

URL Rewrite را با Redirect یکی در نظر می‌گیریم

Rewrite می‌تواند Request را داخل Server تغییر دهد بدون اینکه URL Browser تغییر کند.

Redirect Client را به URL جدید هدایت می‌کند.

Rule را بدون تست مستقیم Pattern ایجاد می‌کنیم

اگر Pattern اشتباه باشد، Rule اصلاً Match نمی‌شود یا ممکن است URLهای ناخواسته را Match کند.

web.config را کامل جایگزین می‌کنیم

در Websiteهای Production بهتر است فقط Section موردنیاز اضافه شود.

فایل web.config ممکن است تنظیمات مهم Application، Handler، Runtime یا Security را نیز داشته باشد.

در Shared Hosting فرض می‌کنیم Customer می‌تواند Module نصب کند

URL Rewrite باید در سطح Server نصب شود و این کار معمولاً نیاز به Administrator Access دارد.


مطالعه بیشتر

  • بررسی IIS Logs برای عیب‌یابی سایت
  • عیب‌یابی خطای 404 Not Found در IIS
  • آموزش راه‌اندازی Reverse Proxy در IIS با ARR

مستندات رسمی:

  • IIS URL Rewrite Module
  • Using the URL Rewrite Module
  • URL Rewrite Configuration Reference
  • Global and Distributed Rewrite Rules

جمع‌بندی

IIS URL Rewrite یک Extension برای IIS است که امکان تعریف Ruleهای Rewrite و Redirect را فراهم می‌کند.

برای استفاده از آن ابتدا بررسی کنید گزینه:

URL Rewrite

در IIS Manager وجود داشته باشد.

اگر وجود ندارد، نسخه رسمی URL Rewrite Module 2.1 را از Microsoft IIS نصب کنید.

Ruleهای Website معمولاً داخل:

web.config

و در بخش:

<system.webServer>
    <rewrite>
        <rules>
        </rules>
    </rewrite>
</system.webServer>

قرار می‌گیرند.

در Hosting Environment نیز ابتدا مشخص کنید Module روی Server نصب شده و Subscription اجازه استفاده از Configuration مربوطه را دارد؛ نصب Module یک عملیات Server-level است و معمولاً در اختیار Customer قرار ندارد.

هنوز نیاز به کمک دارید؟

آیا سوالی دارید؟

آیا این مقاله برای شما مفید بود؟ بله خیر

نظرات خود را بنویسید... لغو پاسخ

اشتراک گذاری این مقاله

آموزش نصب و فعال‌سازی URL Rewrite در IIS

کپی کردن لینک

Clipboard Icon

جدیدترین مقالات

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی ...
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

تقویم

سپتامبر 2026
شیدسچپج
 1234
567891011
12131415161718
19202122232425
2627282930 
« جولای    

عضویت

جدیدترین پست‌ها

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی Ubuntu 24.04
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

سلام