RewriteEngine on
RewriteCond %{REQUEST_URI} !(.|/$)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ api.php?url=$1 [L]
Oben ist meine aktuelle Konfiguration zu sehen.
Das Problem dabei ist, dass es nur umzuleiten scheint, wenn ein Verzeichnis oder eine Datei nach dem Ordner existiert, in dem sich die htaccess-Datei befindet.
Wie kann ich das umschreiben, damit es buchstäblich jede einzelne Anfrage an umleitet? api.php
mit dem vollen angeforderten Pfad? Ich suche nicht, ob Verzeichnisse oder Dateien in der htaccess - Datei vorhanden sind, das kann ich in api.php
Ich möchte nur alle Anfragen durch diese Datei pushen.
Antworten:
1 für die Antwort № 1Sie können verwenden:
RewriteEngine on
RewriteCond %{REQUEST_URI} !(.|/$)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
RewriteRule ^((?!api.php$).*)$ api.php?url=$1 [L,QSA,NC]
Schau voraus (?!api.php$)
bedeutet, alles neu zu schreiben, außer /api.php
zu /api.php
mit Abfrageparameter url
.
0 für die Antwort № 2
so was:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*)$ /api.php?path=$1 [NC,L,QSA]
Stellen Sie sicher, dass Sie dies vor der Route haben
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d