/ / Supprimer l'extension .php avec htaccess [dupliquer] - php, html, .htaccess

Supprimer l'extension .php avec htaccess [duplicate] - php, html, .htaccess

J'essaie de supprimer les extensions de mes pages dans la barre d 'URL.

Exemple: ../about.php => ../about

Le code que j’utilise actuellement dans mon fichier htaccess est celui que j’ai trouvé ici:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*.php$ %{REQUEST_FILENAME}.php [QSA,L]

Il est stocké à la racine du dossier de mon site Web (le même dossier que celui contenant les 2 pages Web).

Mais cela ne semble pas fonctionner .. Exemple en direct ici. Qu'est-ce que je fais mal?

Réponses:

0 pour la réponse № 1

Vous pouvez utiliser ce code dans la racine .htaccess pour supprimer .php extension:

RewriteEngine on

# redirect /dir/file.php to /dir/file, important to use %{THE_REQUEST}
RewriteCond %{THE_REQUEST} s/+(?:index)?(.*?).php[s?] [NC]
RewriteRule ^ /%1 [R=301,L,NE]

# rewrite /dir/file to /dir/file.php
# %{DOCUMENT_ROOT}/$1.php -f makes sure there is a matching .php file for the
# given name
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/$1.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]

PS: Pour des raisons de référencement, vous devez avoir la première règle 301 en place, sinon ce sera mauvais pour le référencement /about et /about.php servira même contenu.

Référence: Apache mod_rewrite Introduction

Apache mod_rewrite Détails techniques