我试图设置一些漂亮的网址
http://www.foo.com/results/2014
呼叫
http://www.foo.com/results/index.php?year=2014
2014年'可能真的是任何字符串(如果我得到不适当的输入,我会做适当的错误处理)。
然而,我得到的是http://www.foo.com/results/
工作正常,但是在尾部斜杠之后的任何内容都会返回404错误。
以下是我的.htaccess文件的内容。有人可以指出我的错误吗?
提前致谢!
的.htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.foo.com/results/$1 [L,R=301]
RewriteRule ^results/([^/]+)/?$ /results/index.php?year=$1
答案 0 :(得分:1)
在/results/
目录中这样做:
RewriteEngine On
RewriteBase /results/
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
RewriteRule ^([^/.]+)/?$ index.php?year=$1 [L,QSA]
您的规则不起作用的原因:
results/
文件夹中且URI为/results/foo
,那么foo
RewriteRule
RewriteBase