Как перезаписать URL-адрес, если файл не найден с помощью модуля перезаписи URL-адресов IIS

Мне нужно запустить приложение PHP на IIS, и я пытаюсь перенести правила htaccess, которые выглядят следующим образом:

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ index.php?%{QUERY_STRING} [NE,L]
</IfModule>

У меня нет опыта работы с htaccess, но мне сказали, что эти правила гласят, что если файл не найден, запрос должен быть отправлен в index.php, а строка запроса должна быть перенесена. Обратите внимание, что это не перенаправление браузера пользователя, а чистая операция сервера, которая передает все данные публикации.

Итак, как мне создать эти правила с помощью модуля IIS URL Rewrite? Какое правило я должен использовать, чтобы переписать URL-адрес на основе отсутствующего файла на исходном адресе? Я пытаюсь сделать это на IIS7


person Stilgar    schedule 31.05.2012    source источник


Ответы (1)


Если вы используете модуль IIS URL Rewrite, вы сможете напрямую импортировать свой .htaccess.

Когда вы находитесь на нужном вам сайте в IIS, дважды щелкните значок URL Rewrite, затем с правой стороны появится ссылка «Import Rules ...». Нажмите здесь, чушь в своем .htaccess, нажмите «Импорт», и все должно работать.

HTH

person Jenko    schedule 31.05.2012
comment
Это круто. У меня есть несколько ошибок с флагами, но пока мы можем просто удалить их, и он работает достаточно хорошо для тестирования. Большое спасибо. Не могу поверить, что не попал в статью, в которой упоминается эта функция, когда искал в Интернете. - person Stilgar; 31.05.2012