2017-02-04 15 views
1

これは私の.htaccessファイルです。 書き換えは動作しますが、GETバールは失われます。GET変数を書き直す - QSAルールが機能しない

RewriteCond %{HTTP_HOST} ^(www\.)?dev.my-domain\.de$ [NC] 
RewriteRule !^pages/ /pages%{REQUEST_URI} [QSA,L] 
ErrorDocument 404 /404.php 

だから私https://my-domain.com/badPath?ID=666が表示されているが、

print_r($_GET); 

は言う:アレイ()

はインターネットソリューションIST [QSA]私に言って続けたが、私にとって、ではないようです。

答えて

1

問題を引き起こしたのはあなたのRewriteRuleではありません。 QSAを削除することができます。これは、クエリ文字列を変更するときにのみ適用されます。クエリ文字列が変更されずに渡されています。

変更するにはするRewriteRule:

RewriteRule !^pages/ pages%{REQUEST_URI} [L] 
QSAと、すでにmod_rewriteをによって提供されるスラッシュを削除

ので、それをダブルアップしません。

これは、クエリ文字列を削除するその他のルールでなければなりません。

+0

ああ、ありがとうございます。まあ、それはパラメータを消すこのルールではありません。 – SuperDuperApps

+0

私は自分の答えを更新しました。 – SuperDuperApps

+0

ありがとうございます。少なくとも私は今どこかで問題を探すことができます。 *一口* – Max

関連する問題