2009-05-21 95 views
0

我有以下规则:mod_rewrite的问题

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

和我的网址如下:

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

在myphp.php

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

任何想法?

问候,

+0

“有什么想法? - 您可能想先告诉我们您的期望。 – VolkerK 2009-05-21 20:51:34

+0

但实际上错在哪里? – random 2009-09-14 14:07:50

回答

0

尝试添加B修改:

Apache在 之前取消转义的URL映射它们,所以反向引用将 在当时被转义他们 应用。使用B标志, 反向引用中的非字母数字字符 将被转义。

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