Frage

Ich bin ein newb zu PHP. Kann mir jemand sagen, was jede Zeile hier tut. Muss ich diese benötigen? Es gibt mir Fehler

RewriteCond %{REQUEST_URI} /~([^/]+)/?
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /~%1/rewrite.php?p=$1&%{QUERY_STRING} [L]
RewriteCond %{REQUEST_URI} /~([^/]+)/?
RewriteRule ^index\.php?(.*)$ /~%1/rewrite.php?p=%1&%{QUERY_STRING} [L]
#there is no ~ character in the URL
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) ./rewrite.php?p=$1&%{QUERY_STRING} [L]
RewriteRule ^index\.php?(.*)$ ./rewrite.php?p=$1&%{QUERY_STRING} [L]
#WJ-180 fix
RewriteRule ^resume\.php?(.*)$ ./rewrite.php?p=resume\.php$1&%{QUERY_STRING} [L]
War es hilfreich?

Lösung

Die einfache Antwort: Diese Erklärungen umschreiben jede Anforderung an eine rewrite.php Datei

.

Die umfassendere Antwort: Die RewriteCond und RewriteRule Richtlinien sind von dem Apache-Modul mod_rewrite und bietet einen regelbasierte URL-Rewrite-Mechanismus.

Es scheint, dass diese Vorschriften, die jede Anforderung an eine rewrite.php Datei neu zu schreiben, entweder in einem bestimmten Verzeichnis (/~ foobar /rewrite.php) oder in der Wurzel (/rewrite.php).

Andere Tipps

Wenn Sie neu sind, finden Sie unter http: //httpd.apache. org / docs / 1.3 / mod / mod_rewrite.html , ist es sehr schön erklärt.

P. S. Ihr Titel: "Was diese Erklärungen in meiner PHP .htaccess-Datei bedeuten tun?" ist falsch, .htacces nicht PHP-Datei ist.

Diese sagen

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

„Nur die folgende Regel verwenden, wenn die Anforderung nicht eine vorhandene Datei oder das Verzeichnis übereinstimmt.“

Das sind mod_rewrite Konfigurationseinträge.

Es ist eine Apache mod_rewrite Regel. Es sei denn, Sie irgendeine Art von Rahmen verwenden wahrscheinlich Sie brauchen es nicht. Siehe Apache mod_rewrite für weitere Informationen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top