Pergunta

A um realmente fácil, mas eu preciso para obter este direito, e não pode permitir erros como eu preciso para implantar em um servidor ao vivo assim que eu puder.

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  

cheguei aqui, mas isso se transforma bar.aspx em bar.aspx.aspx, e isso não é bom.

# Helicon ISAPI_Rewrite configuration file

RewriteEngine on
RewriteRule (.*) $1.aspx [L]
Foi útil?

Solução

Tente esta regra:

RewriteCond $1 !.*\.aspx$
RewriteRule (.*) $1.aspx [L]

Isso deve evitar quaisquer possíveis problemas com a recursividade. E se você quiser já excluir arquivos existente, tente esta condição em vez disso:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) $1.aspx [L]
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top