我正在尝试使用PHP mod_rewrite来改变一些URL。
作为测试,在我的.htaccess中我有以下内容:
RewriteEngine on
RewriteRule ^(.*[^/])$ index.php?test=$1
#RewriteRule ^([^/]+)/$ index.php?test=$1
在我的index.php文件中,我只是
<?php print_r($_GET) ?>
我想要发生的是,当mysite.com/test或mysite.com/test/位于浏览器地址栏中时,PHP $ _GET ['test']变量的值为'test'
注释行与mysite.com/test/配合使用,但似乎对mysite.com/test
无效第二行(未注释的)在查看mysite.com/test时对$ _GET ['test']产生'index.php'值,并且对mysite.com/test/没有任何作用/ p>
我在这里有什么东西可以让我得到理想的结果吗?
由于
答案 0 :(得分:1)
试试这个:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*?)/?$ index.php?test=$1
*?
量词的注释,声明*
为ungreedy
http://www.troubleshooters.com/codecorn/littperl/perlreg.htm#Greedy