Regex für ... URL in einer URL?

Regex für ... URL in einer URL?

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.

verwandte Informationen