PHP/Mod_Rewrite kürzen irgendwie den GET-Request
phil
- php
Hallo,
ich habe folgende Rewrite Rule, welche auch gut funktioniert:
RewriteRule ^([a-zA-Z0-9-]+)/?([a-zA-Z0-9-]+)?$ index.php?p=$1&id=$2&a=$3
Wenn ich nun aber um 2 Stellen erweitern will:
RewriteRule ^([a-zA-Z0-9-]+)/?([a-zA-Z0-9-]+)/?([a-zA-Z0-9-]+)/?([a-zA-Z0-9-]+)?$ index.php?p=$1&id=$2&a=$3&b=$4&c=$5
Dann geht das ganze nicht mehr weil er folgendes macht.
url: http://localhost/Artikel
Wenn ich nun echo $_GET['p'] mache, dann gibt er nur "Artik" aus und nicht mehr "Artikel". Wenn ich das mit der ersten RewriteRule mache, dann gehts.
Das gleiche bei anderen Wörten.
Sprich das Phänomen ist: Es kommen 2 Stellen hinzu und es fallen 2 Stellen beim Namen weg.
Woran liegt das?
Lg
Phil
Woran liegt das?
An deiner regEx. Das + steht für 1 oder n Zeichen, du meinst aber 0 oder n Zeichen und müsstest stattdessen den „*“ notieren.
^([a-zA-Z0-9-]+)/?([a-zA-Z0-9-]*)/?([a-zA-Z0-9-]*)/?([a-zA-Z0-9-]*)$
Hallo.
Gott super, vielen Dank!!!
Wie lange ich nach der Lösung gesucht habe, unfassbar..
Liebe Grüße
Phil