
Ich habe die folgende Zeile in meiner .htaccess-Datei, aber sie leitet mich immer wieder zu einem 404-Fehler weiter.
RewriteRule ^Pfad1/([a-zA-Z0-9_-]+)/(.+)(/?)$ /file.php?variable1=$1&variable2=$2 [nc]
Ein Beispiellink wäre ...
http://domain.com/Pfad1/Name23/http://domain2.com/Zeug/ist/hier
Ich möchte diese zweite URL auf Variable2 übertragen.
Antwort1
RewriteRule ^Pfad1/([a-z0-9_-]+)/([^\?]+)$ /file.php?variable1=$1&variable2=$2 [NC]
Probieren Sie die obige Regel aus und sehen Sie selbst. Ihr Muster stimmt nicht überein, deshalb erhalten Sie den 404-Fehler. Übrigens entferne ich AZ, weil NC es sowieso nicht mehr zwischen Groß- und Kleinschreibung unterscheiden lässt.
Antwort2
Ich glaube, dass Apache mit nur [NC] nach einer Datei namens „file.php?variable1=$1&variable2=$2“ (mit ersetzter Variable) auf der Festplatte sucht. Sie können es mit [R,NC] oder [PT,NC] versuchen (dieses benötigt mod_proxy).
Antwort3
Erhöhen Sie die Protokollebene auf Debug und sehen Sie, was mod_rewrite tut.