Hướng dẫn convert .htaccess sang web.config trong Plesk Window

Tác giả: 22/07/2025

Để convert .htaccess sang web.config cho hosting Windows chạy Plesk với IIS, bạn cần hiểu rằng:

  • .htaccess dùng cho Apache

  • web.config dùng cho IIS (Internet Information Services)

Nên khi chuyển web từ máy chủ apache và nginx qua Plesk Window thường bị lỗi .htaccess không hoạt động được do Window không hiểu file này.

Dưới đây là hướng dẫn từng bước chuyển đổi .htaccess sang web.config trong môi trường Plesk chạy Windows.

Ví dụ website bạn đang có .htaccess như sau:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# Nếu yêu cầu không phải file hoặc thư mục thật, thì chuyển về index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

 

Bạn cần phải remote vào máy chủ đang cài Plesk > Bật IIS > Click vào website bất kì. Nhìn vào màn hình bên phải > URL Rewrite Sau đó chọn Import Rules Sau đó chọn nhập htaccess vào mục Rewrite rule > kết quả trả về ở mục converted rules > tab xml view

Kết quả:
<rewrite>
  <!--This directive was not converted because it is not supported by IIS: RewriteBase /.-->
  <rules>
    <!--# BEGIN WordPress-->
    <rule name="Imported Rule 1" stopProcessing="true">
      <match url="^index\.php$" ignoreCase="false" />
      <action type="None" />
    </rule>
    <rule name="Imported Rule 2" stopProcessing="true">
      <match url="." ignoreCase="false" />
      <conditions>
        <!--# Nếu yêu cầu không phải file hoặc thư mục thật, thì chuyển về index.php-->
        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
      </conditions>
      <action type="Rewrite" url="/index.php" />
    </rule>
  </rules>
</rewrite>

 

Lúc này bạn có thể copy kết quả bỏ vào file web.config. Chúc các bạn thành công.