2009-10-24 6 views
0

un vraiment facile, mais je dois obtenir ce droit, et ne peuvent pas se permettre des erreurs que je dois déployer sur un serveur en direct dès que je peux.ISAPI aide de règles Rewrite (http://www.foo.com/bar -> http://www.foo.com/bar.aspx)

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 

je suis arrivé ici, mais cela se bar.aspx en bar.aspx.aspx, et ce n'est pas bon.

# Helicon ISAPI_Rewrite configuration file 

RewriteEngine on 
RewriteRule (.*) $1.aspx [L] 

Répondre

2

Essayez cette règle:

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

Cela devrait éviter tout problème possible avec récursivité. Et si vous souhaitez exclure des fichiers déjà existants, essayez cette condition à la place:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule (.*) $1.aspx [L] 
+0

Impressionnant! Qu'est-ce que cela dit en anglais "RewriteCond $ 1!. * \. Aspx $" – inspite

+1

@DrG: '$ 1' est comme dans l'expression de remplacement la correspondance du premier groupe du motif' RewriteRule'. Et c'est ensuite testé contre le modèle '!. * \. ASPX $' qui intervertit simplement le résultat de '. * \. ASPX $'. Donc, si le chemin d'URL en cours est '/ bar.aspx', 1' $ est' 'bar.aspx' qui est ensuite adapté par'. * \. ASPX $ ', de sorte que le résultat de la' RewriteCond' est * faux * depuis '. * \. aspx $' est annulé. Cela signifie que la règle n'est pas appliquée sur '/ bar.aspx' car elle se termine par' .aspx'. – Gumbo

+0

ce qui se passerait à 'foo.com/bar.pdf'. Je veux que ça reste aussi seul. Peut-être que j'ai besoin de votre deuxième règle. Ça commence à couler! Je pense que je pourrais avoir besoin d'une combinaison des deux. Merci pour votre aide Gumbo, je suis sur une bien meilleure base qu'avant: D – inspite

Questions connexes