1
这里是我的.htaccess规则:阿帕奇:重写规则删除尾随点
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*)/(.*)$ index.php?var1=$1&item=$2&var2=%{REQUEST_URI} [NC,L]
RewriteRule ^(.*)$ index.php?var1=$1 [NC]
这里是一个URL(在末尾的尾随点): http://localhost/test/secondvar.
的问题是,后点是在var2
GET
变量
我用了一个print_r($_GET)
这里内不来与上述网址结果:
Array ([var1] => test [var2] => secondvar [uri] => /test/secondvar.)
所以我的问题是,我怎样才能从URL的尾部点作为var的参数?如您所见,REQUEST_URI
显示apache知道点。
我知道我不能将路径作为GET
参数发送,并小心从PHP读取URI中的路径,但我想知道为什么点不在以及如何修复它,如果太复杂我宁愿选择直接的PHP解决方案。
编辑:不仅尾随点而且尾随?太... = [
你不会轻易得到尾随?因为它不是'{REQUEST_URI}'的一部分,所以它被解释为请求URI和查询字符串之间的分隔符。 我很快尝试重新创建问题,但我不能。尾随。奇迹般有效。 你使用的是什么版本的PHP和Apache? – anq 2010-01-11 03:13:37
PHP Version 5.3.0, Apache 2.0 Handler – Jonathan 2010-01-11 11:36:18