Назад | Перейти на главную страницу

Преобразование старых правил .htaccess в правила перезаписи IIS

Я начал размещать свой собственный сайт на IIS, и ранее он размещался на DreamHost на Apache, поэтому у меня есть файл .htaccess с правилами перезаписи, которые я хотел бы преобразовать в правила модуля перезаписи URL.

# initialize mod_rewrite
RewriteEngine on
RewriteBase /

# remove the www from the url
# RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
# RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

###  BEGIN GENERATED REWRITE RULES  ####

RewriteCond %{REQUEST_FILENAME}/index.html -f
RewriteRule ^(.*) $1/index.html

####  END GENERATED REWRITE RULES  ####

# listing pages whose names are the same as their enclosing folder's
RewriteCond %{REQUEST_FILENAME}/$1.html -f
RewriteRule ^([^/]*)/$ %{REQUEST_FILENAME}/$1.html

# regular pages
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^.*$ %{REQUEST_FILENAME}.html

# set our custom 404 page
ErrorDocument 404 /404.html

Я использую приложение Hyde для создания своего статического сайта, поэтому хотел бы, чтобы это работало, если это возможно. Я пробовал импортировать htaccess, но правила, похоже, не дают правильного результата.

Если вы хотите просто сбросить свой .htaccess в корневую папку и заставить IIS подчиняться вашим правилам перезаписи, есть плагин под названием Перезапись ISAPI. Мы используем платную версию, но бесплатная версия подойдет вам, если это всего лишь один веб-сайт.

Синтаксис перезаписи IIS7 (очевидно) полностью отличается, и я не знаю, существуют ли какие-либо инструменты.