我知道一些冲突,但作为一个国防部重写麻瓜是时候寻求帮助。apache重写冲突
我重新写http://test.com/[name]/
到http://test.com/script.php?id=[name]
成功,使用:
(rule#1)
RewriteRule ^(.*)\/$ script.php?id=$1&%{QUERY_STRING} [L]
接下来,我重写http://test.com/[name]/foobar/[key]
到http://test.com/script.php?id=[name]&foobar=[key]
也成功使用:
(rule#2)
RewriteRule ^(.*)\/foobar/([0-9]+)$ script.php?id=$1&foobar=$2 [L]
何wever,当我尝试包括查询字符串,
使http://test.com/[name]/foobar/[key]?p=[page]
可以重新写入http://test.com/script.php?id=[name]&foobar=[key]&p=[page]
本:
(rule#3)
RewriteRule ^(.*)\/foobar/([0-9]+)$ script.php?id=$1&foobar=$2&%{QUERY_STRING} [L]
然后阿帕奇只是投我回到http://test.com/script.php。该规则#3
我知道,从试验和错误会工作,如果它没有使用相同的script.php的规则#1,
但我不知道如何解决它,所以任何帮助表示赞赏!
Arrgh ..在用Gumbo的例子仔细检查我的规则后,我终于发现出了什么问题。虽然不完美,但我的重写规则实际上是按照预期工作的。然而,我完全忘记了我有另一个脚本来检查有效的参数......显然,抛出随机测试值,有时不是一个好主意。感谢^ /伎俩!