我在家里运行自己的服务器。我试图做一个mod_rewrite,但我似乎无法让它正常工作。
说我的网址是“http://www.site.com/”。我有一个用户设置,其public_html目录是服务页面;让我们说网址是“http://www.site.com/~myUser/theDirectory/”。我想要做的是设置它,以便当您输入“http://www.site.com/theDirectory/”时,它实际上将提供“http://www.site.com/~myUser”中的页面/ theDirectory /“,但看起来像来自”http://www.site.com/theDirectory/“。我编辑了我的/ etc / apche2 / sites-enabled / default文件并添加了这些行:
RewriteEngine On
RewriteRule ^theDirectory/$ /home/myUser/public_html/~myUser/theDirectory/
我还尝试了各种版本的规则:
RewriteRule ^/theDirectory/$ /home/myUser/public_html/theDirectory/
RewriteRule ^/var/www/html/theDirectory/$ /home/myUser/public_html/theDirectory/
我还确保启用了重写模块。起初,我收到了这个错误:
[Fri Jun 17 18:11:35 2011] [error] [client xxx.xxx.xxx.xxx] File does not exist: /var/www/theDirectory
所以我创建了该文件,现在我收到了这个错误:
[Fri Jun 17 23:15:45 2011] [error] [client xxx.xxx.xxx.xxx] Directory index forbidden by Options directive: /var/www/theDirectory/
所以,我不确定从哪里开始。任何和所有的建议将不胜感激。感谢您花时间阅读。
度过美好的一天: - )
答案 0 :(得分:3)
将以下内容添加到虚拟主机配置中:
RewriteEngine on
RewriteRule ^/theDirectory(/.*)$ /home/myUser/public_html/theDirectory$1 [L]