另一个mod_rewrite尾随斜线问题

Chr*_*utz 2 apache mod-rewrite sourceforge

我的文件中有以下重写规则.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]
Run Code Online (Sandbox Code Playgroud)

然后以a结束/?检查可选的尾部斜杠.这工作-这意味着我可以使用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上.

Mil*_*les 9

一个疯狂的猜测:有一个名为"news"的目录,并且自动Apache目录"添加一个尾部斜杠"重定向正在以一种奇怪的方式与你的RewriteRule进行交互.如果是这样的话,

DirectorySlash Off
Run Code Online (Sandbox Code Playgroud)

可能有帮助.