2009-05-21 14 views
0

I次のルールがあります。mod_rewriteの問題

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !=/favicon.ico 
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 

をし、次のように私のURLは次のとおりです。myphp.php

var_dump($_GET): array(3) { 
    ["q"]=> string(19) "185-8676848-3133633" 
    ["_encoding"]=> string(4) "UTF8" 
    ["node"]=> string(2) "10" } 

任意のアイデアで

http://www.mydomain.com/189-9544737-0616922?%5Fencoding=UTF8&node=10 

を?

に関して、B修飾子を追加すること

+0

「任意のアイデアですか?」 - あなたが最初に何を期待しているか教えてください。 – VolkerK

+0

実際に何が間違っていますか? – random

答えて

0

試してみてください。

Apacheは後方参照が 彼らは を適用している時にエスケープを解除されますので、 がそれらをマッピングする前にURLをアンエスケープする必要があります。 Bフラグを使用すると、後方参照 の 英数字以外の文字はエスケープされます。

RewriteRule ^(.*)$ index.php?q=$1 [B,L,QSA] 
+0

何も変わっていないようです... – maozet

+0

PHP側で何を見たいですか? URLとクエリ文字列全体を1つの変数に入れますか? –

関連する問題