Я начал размещать свой собственный сайт на 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 (очевидно) полностью отличается, и я не знаю, существуют ли какие-либо инструменты.