Ich versuche, einige URL Rewriting mit Apache2 und PHP zu tun, das Problem ist, dass ich eine .htaccess-Datei, die rewrite_mod verwendet, hier ist sie:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ webroot/index.php [QSA,L]
Das ^(.*)$
Muster sollte alles passen, aber es ist nicht leer Anfragen übereinstimmt, und ich weiß nicht, warum.
Um Ihnen ein Beispiel zu geben, hier ist der /root
Ordner, wo die .htaccess Datei ist.
- Anfrage
/root/anything
Übereinstimmungen; - Anfrage
/root/some/thing
stimmt auch überein; - Anforderung
/root/
stimmt nicht überein.
Hier wird der /root/
Antrag soll als Muster entspricht ^(.*)$
bedeutet „alle Zeichen passen von 0 Mal in jede Höhe der Zeit“.
Weiß jemand, warum es leere Anfragen nicht entspricht?
Ich betreibe zur Zeit LAMP unter Linux Mint.
Was genau entspricht dieser Ordner "Webroot" in Ihrer Substitution? –
Gibt es noch andere Regeln in Ihrem htaccess? – starkeen
'webroot' ist der Ordner, der' index.php' und den Inhalt der Website (Bilder, Skripte ...) enthält. Der '.htaccess' ist ** eine Ebene über ** dem' webroot'-Ordner. Also ist der Pfad zur '.htaccess' Datei'/root/.htaccess', und der Pfad zu 'index.php' ist'/root/webroot/index.php'. Und es gibt keine anderen Regeln in der '.htaccess' Datei. – TheKitsuneWithATie