2016-09-30 6 views
1

ich völlig bin stecken mit .htaccess-Anfragen versuchen, so zu umschreiben:Variablen verschwinden auf URL-Rewrite mit .htaccess

website.com/SOMEPAGE 

website.com/SOMEPAGE/?arg1=a&arg2=b&arg3 

... wird ...

website.com/index.php?page=SOMEPAGE 

website.com/index.php?page=SOMEPAGE&arg1=a&arg2=b&arg3 

Meine .htaccess Aussehen wie folgt aus:

RewriteEngine On 
RewriteRule ^([a-zA-Z_-]+)\/?(\?(.+))?$ index.php?page=$1&$3 [NC,L] 

Und dann in index.php:

<script> 
    var vars = '<?php print(json_encode($_GET)); ?>'; 
    console.log(vars); 
</script> 

Die Konsole immer nur protokolliert:

{ "Seite": "Eineseite"}

arg1, arg2 usw. sind verschwunden.

Was mache ich falsch?

Antwort

0

Sie erhalten niemals die Abfragezeichenfolge in Ihrer RewriteRule Direktive. Um die vorherige Abfrage params nach einem Umschreiben, nutzen Sie the QSA flag:

RewriteEngine On 
RewriteRule ^([a-zA-Z_-]+)/?$ index.php?page=$1 [NC,L,QSA] 

und das wird Ihre Anfrage weiterzuleiten Parameter kümmern.

+0

Perfekt, das funktioniert. – user3383418

Verwandte Themen