Maison  >  Article  >  développement back-end  >  Pourquoi ne puis-je pas masquer mon extension de fichier .php avec .htaccess ?

Pourquoi ne puis-je pas masquer mon extension de fichier .php avec .htaccess ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-06 18:08:02294parcourir

Why Can't I Hide My .php File Extension with .htaccess?

Masquer l'extension de fichier .php avec .htaccess : conseils de dépannage

Malgré les instructions suivantes pour masquer l'extension de fichier .php à l'aide de .htaccess, vous vous rencontrez des difficultés. Examinons le problème et proposons une solution révisée.

Votre code .htaccess initial a tenté de réécrire les URL dans un répertoire "dossier" spécifique. Cependant, il semble incomplet, car il lui manque la directive RewriteCond correspondante. Pour résoudre ce problème, le code modifié suivant devrait fonctionner :

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule ^folder/([a-zA-Z_\-0-9]+)/?$ /folder/.php
</IfModule>

La ligne RewriteCond garantit que la règle n'est appliquée que si le fichier demandé n'existe pas (c'est-à-dire qu'il ne s'agit pas d'un fichier statique).

De plus, pour gérer correctement divers scénarios, pensez à utiliser un code .htaccess plus complet comme celui suggéré dans la réponse acceptée :

RewriteEngine On

# Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://example.com/folder/ [R=301,L]

# Redirect external .php requests to extensionless URL
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$ http://example.com/folder/ [R=301,L]

# Resolve .php file for extensionless PHP URLs
RewriteRule ^([^/.]+)$ .php [L]

Ce code cache non seulement l'extension .php mais également gère les barres obliques finales, les requêtes .php externes et résout en interne les fichiers .php pour les URL sans extension.

N'oubliez pas de vérifier que le fichier .htaccess est placé dans le répertoire racine de votre projet et vérifiez les autorisations du fichier pour vous assurer qu'il est lisible par le serveur web.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn