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

Mary-Kate Olsen
Libérer: 2024-11-06 18:08:02
original
292 Les gens l'ont consulté

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>
Copier après la connexion

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]
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!