如何使用mod_rewrite在内部重写/到/ homepage

时间:2010-06-24 21:22:17

标签: apache mod-rewrite

好的,这应该很简单,但我遇到了相当多的麻烦。基本上,我正在尝试将http://server.com/重写为http://server.com/homepage,但我只希望它在内部重写 - 用户永远不会看到/homepage网址。我试过这个:

RewriteRule ^$ /homepage [L]

它与URL正确匹配,但它会发出301重定向而不是仅在内部处理它 - 用户被重定向到http://server.com/homepage。我该如何改变?

我觉得这很简单,而且我完全错过了,所以希望有人可以提供帮助!

1 个答案:

答案 0 :(得分:3)

假设homepage是一个目录,请尝试这样做:

RewriteRule ^$ /homepage/

我完全忘记了这里发生了什么,所以希望能解决问题(这对我有用),然后为了完整起见,我会更新我的答案并解释正在发生的事情。

修改:好吧,它是mod_dir及其DirectorySlash选项,试图清除网址丢失的尾部斜杠。如果您没有尾部斜杠,则不会调用DirectoryIndex处理程序,并且mod_rewrite只是在此处理发生之前重写URL DirectorySlash默认设置为Onmod_dir执行重定向到斜杠完成的网址。