0

我有标准的 htaccess,它可以捕获所有内容并将其放入一个 url 参数中,然后在代码中进行处理......

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

我使用“漂亮”的网址参数,例如

/some/route/param1/value1/param2/value2 

但现在我需要能够添加“常规”网址参数,例如

/some/route/param1/value1?param2=value2&param3=value3 etc

我尝试添加

RewriteRule ^(.*)\?(.*)$ index.php?q=$1&p=$2 [L,QSA]

在现有规则之前,但它不能正常工作(我怀疑它只能与一个参数一起工作)。

4

1 回答 1

2

试试这个:

RewriteRule ^([^?]+)\?(.*)$ index.php?q=$1&p=$2 [L,QSA]
于 2013-05-13T12:41:43.307 回答