Ich habe dies in meinem .htaccess:RewriteRule stimmt nicht überein?
RewriteEngine On
RewriteBase/
RewriteRule ^url/(.*)$ url.php?url=$1 [L]
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]
Warum die erste Regel nicht http://mydomain.ext/url/http://www.google.com/
nicht überein, aber die zweite ???
Edit: es scheint zu funktionieren, wenn ich die letzte Zeile auskommentieren, aber natürlich kann ich das nicht tun. Was ist los?
Edit2: Wenn ich es so weit ändern, funktioniert es:
RewriteEngine On
RewriteBase/
RewriteRule ^url/(.*)$ url.php?url=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]
Kann mir jemand erklären, warum die vorherige Version wie erwartet nicht funktioniert?
Danke, wie in meinem Beitrag erwähnt, 'RewriteCond% {REQUEST_FILENAME}} hinzufügen! -f RewriteCond% {REQUEST_FILENAME}! -d' vor der letzten Zeile scheint die gleiche Wirkung zu haben, aber Ihre Lösung ist kürzer. – Alfonso
@Alfonso: Aber Ihre Lösung ist allgemeiner als meine und schließt auch andere vorhandene Dateien und Verzeichnisse aus. – Gumbo