如何获得mod_rewrite的在我的主目录工作?
题
我已存储在FreeBSD下我的PHP文件在这个目录下:
/home/david/public_html/code/php
在我的浏览器,我通过这个网址访问它们:
http://192.168.6.7/~david/code/php
和我有一个htaccess文件重写网址:
RewriteEngine on
RewriteRule ^test test.php
但是,当我去 http://192.168.6.7/~david/code/ PHP /测试在浏览器中,我得到这个错误:
Not Found
The requested URL /home/david/public_html/code/php/test.php
正如你所看到的,重写规则成功地试图测试重定向到test.php的。但由于某种原因失败。
我发现这个在我的Apache的错误日志文件:
File does not exist: /usr/local/www/data/home
任何人都知道如何解决这一问题? 顺便说一句,如果我把这个在web目录,而不是我的主目录,一切工作正常。
解决方案
设置的基本URL路径,以与/~david/code/php/
RewriteBase
:
RewriteBase /~david/code/php/
您也应该明确设置 UseDir
以public_html
。也参见 每用户的web目录在Apache手册。
不隶属于 StackOverflow