【发布时间】:2009-02-15 17:40:38
【问题描述】:
我的.htaccess 文件中有以下重写规则:
RewriteEngine on
RewriteRule ^news/([0-9]+)/?$ /?action=news&start=$1 [L]
RewriteRule ^man/([a-zA-Z0-9_]+)/?$ /?action=man&page=$1 [L]
RewriteRule ^([a-zA-Z0-9_]+)/?$ /?action=$1 [L]
然后全部以/? 结尾,以检查可选的尾部斜杠。这行得通——这意味着我可以使用http://www.site.com/news/ 或http://www.site.com/news 来访问news 页面,这正是我想要的。问题是,虽然http://www.site.com/news/ 工作正常并且静默重定向和所有有趣的东西,但http://www.site.com/news 明显重定向到http://www.site.com/news/?action=news 出于某种原因。他们都提出了同一个网站,但由于某种原因,如果我去掉尾部的斜杠,URL 会发生变化并且看起来很讨厌。
有什么想法吗?我的.hyaccess 文件中没有其他规则。我还要指出http://www.site.com/news/0 和http://www.site.com/news/0/ 不会遇到同样的问题。他们俩都无形地重定向到http://www.site.com/?action=news&start=0,这就是我想要的。这似乎只是第三条规则的问题。
如果有帮助,该站点位于 SourceForge.net。
【问题讨论】:
标签: apache mod-rewrite sourceforge