2010-10-06 11 views
2

Je n'ai jamais utilisé mod_rewrite, mais je souhaite supprimer toutes les extensions de mes urls pour un site Web. Quelle est la règle que je devrais faire cela?Supprimer les extensions de fichiers des urls

J'ai essayé, mais ça me donne une erreur interne chaque fois que je clique sur un lien sur mon site

RewriteRule ^(.*)$ $1.php [L] 

Répondre

1

Ce que vous voulez faire est d'abord vérifier si le fichier existe, cela permettra d'éviter la boucle infinie qui provoque l'erreur 500. Il fera également fonctionner d'autres demandes de fichiers non php (ie: images, css, etc.).

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

alors ils ont juste à changer tous mes liens sur mon site pour ne pas avoir l'extension .php correcte? – Catfish

+0

C'est correct. – bradym

5

Options +MultiViews est probablement une meilleure option pour cela. Avec cette option activée, Apache réécrit intelligemment l'extension.

+0

Supposons que je le souhaite avec mod_rewrite. Je suis nouveau et j'essaie de l'apprendre. – Catfish

+0

ou pouvez-vous au moins donner un exemple de MultiViews et ce qu'il fait? – Catfish