Guida alla regola di riscrittura ISAPI (http://www.foo.com/bar - > http://www.foo.com/bar.aspx)

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

Domanda

Davvero semplice, ma ho bisogno di farlo bene e non posso permettermi errori poiché devo implementarlo su un server live il prima possibile.

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  

Sono arrivato qui, ma questo trasforma bar.aspx in bar.aspx.aspx e non va bene.

# Helicon ISAPI_Rewrite configuration file

RewriteEngine on
RewriteRule (.*) $1.aspx [L]
È stato utile?

Soluzione

Prova questa regola:

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

Ciò dovrebbe evitare ogni possibile problema con la ricorsione. E se vuoi escludere file già esistenti, prova invece questa condizione:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) $1.aspx [L]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top