Справка по правилам перезаписи ISAPI (http://www.foo.com/bar - > http://www.foo.com/bar.aspx)

StackOverflow https://stackoverflow.com/questions/1618856

Вопрос

Действительно простой, но мне нужно понять это правильно, и я не могу допустить ошибок, поскольку мне нужно развернуться на работающем сервере как можно скорее.

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]
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top