我试图让我的网站上的所有HTML和PHP文件通过index.php重定向,以便他们可以有共同的框架应用于他们,我编码的模板解决方案我发现很优雅。任何人,我遇到我的PHP文件问题,特别是那些后面有争论的问题。Apache的mod_rewrite和PHP?参数=东西
我的PHP文件定期规则如下:
RewriteCond %{REQUEST_URI} !index.php$
RewriteRule ^(.+).php$ index.php?page=$1&type=1 [NC,L]
也能正常工作为没有任何参数页,但你可以看到,有
?argument=something
末任何PHP文件up:
index.php?page=path/to/page?argument=something&type=1
这不是一个可行的解决方案。现在,这里困扰我的是规则末尾的$,如果在.php之后有什么东西不应该导致它失败?
Anywho,我试图重写规则为:
RewriteRule ^(.+).php\?(.+)$ index.php?page=$1&type=1&$2 [NC,L]
但根本完全不触发。看起来,mod_rewrite中使用的正则表达式与我以前使用的正则表达式大不相同,所以我确信这些都是我所做的简单错误,但我似乎无法找到像这种风格的体面文档的正则表达式,而不是最基本的例子。
任何人都可以告诉我我做错了什么吗?谢谢。
在您的规则,它的全称是“查询字符串追加”
耶!这就像一个魅力。我不知道它没有测试整个字符串。^_ ^ – 2009-02-16 09:10:41