Heim >Backend-Entwicklung >PHP-Tutorial >Warum kann ich meine .php-Dateierweiterung nicht mit .htaccess verbergen?
Verstecken der .php-Dateierweiterung mit .htaccess: Tipps zur Fehlerbehebung
Trotz der folgenden Anweisungen zum Verbergen der .php-Dateierweiterung mit .htaccess haben Sie stoßen auf Schwierigkeiten. Lassen Sie uns das Problem untersuchen und eine überarbeitete Lösung bereitstellen.
Ihr ursprünglicher .htaccess-Code hat versucht, URLs in einem bestimmten „Ordner“-Verzeichnis neu zu schreiben. Es erscheint jedoch unvollständig, da die entsprechende RewriteCond-Direktive fehlt. Um dieses Problem zu beheben, sollte der folgende geänderte Code funktionieren:
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^folder/([a-zA-Z_\-0-9]+)/?$ /folder/.php </IfModule>
Die RewriteCond-Zeile stellt sicher, dass die Regel nur angewendet wird, wenn die angeforderte Datei nicht existiert (d. h. es ist keine statische Datei).
Um verschiedene Szenarien richtig zu bewältigen, sollten Sie darüber hinaus die Verwendung eines umfassenderen .htaccess-Codes in Betracht ziehen, wie er in der akzeptierten Antwort vorgeschlagen wird:
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]
Dieser Code verbirgt nicht nur die Erweiterung .php, sondern auch verarbeitet abschließende Schrägstriche, externe .php-Anfragen und löst intern .php-Dateien für URLs ohne Erweiterung auf.
Denken Sie daran, sicherzustellen, dass die .htaccess-Datei im Stammverzeichnis Ihres Projekts abgelegt ist, und überprüfen Sie die Berechtigungen der Datei, um sicherzustellen, dass sie von gelesen werden kann Der Webserver.
Das obige ist der detaillierte Inhalt vonWarum kann ich meine .php-Dateierweiterung nicht mit .htaccess verbergen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!