2016-03-20 11 views
1

Ich versuchemod_rewrite scheint eine Regel mit einem Fragezeichen zu ignorieren?

domain.com/page?user=something

zu

domain.com/page/something

mit

RewriteRule ^page?user=(\d[^/]+) /page/$1/ [R=301,L] 

Aus irgendeinem Grund umzuleiten, wenn auch nicht funktioniert. Es scheint nur zu ignorieren. Wenn ich zu domain.com/page?user=something gehe, passiert nichts. mod_rewrite ist aktiviert und alle anderen Regeln werden ausgeführt. Ich nehme an, es könnte an der ? in der URL sein, aber ich könnte falsch liegen?

Antwort

1

Sie können diese 2 Regeln in Ihrem Stamm .htaccess verwenden:

RewriteEngine On 

# external redirect from actual URL to pretty one 
RewriteCond %{THE_REQUEST} /page(?:\.php)\?user=([^\s&]+) [NC] 
RewriteRule^/page/%1? [R=302,L,NE] 

# internal forward from pretty URL to actual one 
RewriteRule ^page/([^/.]+)/?$ page?user=$1 [L,QSA,NC] 
+1

Vielen Dank, das funktioniert! :) – user1996496

Verwandte Themen