我在Apache的mod_rewrite上遇到了一些麻烦。我试图让它做的一件事是隐藏我的一些实现细节,例如,用户看到URL http://www.mysite.com/login,但Apache用http://www.mysite.com/doc_root/login.php的页面响应(最好不显示用户它是一个PHP文件或目录结构)。下面是我在我的.htaccess文件:Apache mod_rewrite没有做任何事情(?)
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?mysite.com*
RewriteRule ^/(\w+) /doc_root/$1.php [L]
#Redirect http://www.mysite.com to the login page
RewriteRule ^/?$ https://www.mysite.com/doc_root/login.php
但是,当我去http://www.mysite.com/login,我得到即使页面中存在一个404错误。我显然没有很好的理解mod_rewrite条件和规则是如何工作的,所以任何人都可以告诉我我做错了什么?谢谢。
我会打开RewriteLog并将RewriteLogLevel设置为某个高值。 – 2010-10-31 13:42:44
你最好问这个在Serverfault.com – Bevor 2010-10-31 13:52:02
无法打开RewriteLog - 托管服务不允许它。感谢指导我到serverfault.com,我以前不知道它。 – jay 2010-10-31 21:40:59