Heim > Backend-Entwicklung > PHP-Tutorial > Warum kann ich meine .php-Dateierweiterung nicht mit .htaccess verbergen?

Warum kann ich meine .php-Dateierweiterung nicht mit .htaccess verbergen?

Mary-Kate Olsen
Freigeben: 2024-11-06 18:08:02
Original
428 Leute haben es durchsucht

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

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>
Nach dem Login kopieren

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]
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage