У меня есть это правило ISAPI_Rewrite:
RewriteRule /([^/.?]+) /sc.asp?p=$1 [I,L]
Это правило должно переписывать URL как:
/ некоторые-статья
/ * 1009 Статья 2 *
и не должны переписывать URL как:
/ home.asp
/ admin (потому что есть каталог с именем admin)
/ админ /
/ сайты / Гаттерман
Отлично работает в ISAPI_Rewrite
Вчера я купил VPS для Windows 2008 R2 и начал переносить свое классическое веб-приложение ASP на новый сервер. Теперь все работает отлично, за исключением перезаписи URL. Я немного погуглил и обнаружил, что модуль перезаписи URL IIS7 полностью отличается от ISAPI_Rewrite.
Я создал Пустое правило . В шаблоне, который я установил /([^/.?]+)
, в Action -> Тип действия я установил Rewrite
, а в Action -> Свойства действия -> Переписать URL-адрес, который я установил sc.asp?p={R:0}
. Это не сработало.
После некоторого поиска в Google я обнаружил, что мне нужно удалить символ /
в начале моего паттерна (так что мой паттерн теперь ([^/.?]+)
). Итак, я сделал это, и теперь он просто переписывает любой URL, и он должен переписывать только URL, которые не являются каталогами или файлами.
Есть идеи?
Спасибо.