Справка по правилам перезаписи ISAPI (http://www.foo.com/bar - > http://www.foo.com/bar.aspx)
-
06-07-2019 - |
Вопрос
Действительно простой, но мне нужно понять это правильно, и я не могу допустить ошибок, поскольку мне нужно развернуться на работающем сервере как можно скорее. Р>
http://www.foo.com/bar --> http://www.foo.com/bar.aspx
http://www.foo.com/bar?q=boo --> http://www.foo.com/bar.aspx?q=boo
# I only want /bar to get rewritten to /bar.aspx
# everything else stays as is
http://www.foo.com/bar.aspx --> http://www.foo.com/bar.aspx
http://www.foo.com/bar.pdf --> http://www.foo.com/bar.pdf
Я попал сюда, но это превращает bar.aspx
в bar.aspx.aspx
, и это не хорошо.
# Helicon ISAPI_Rewrite configuration file
RewriteEngine on
RewriteRule (.*) $1.aspx [L]
Решение
Попробуйте это правило:
RewriteCond $1 !.*\.aspx$
RewriteRule (.*) $1.aspx [L]
Это должно избежать любых возможных проблем с рекурсией. И если вы хотите исключить уже существующие файлы, попробуйте вместо этого следующее условие:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) $1.aspx [L]
Не связан с StackOverflow