需要帮助(我认为)基本mod_rewrite设置

时间:2011-06-18 03:37:38

标签: apache mod-rewrite

我在家里运行自己的服务器。我试图做一个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/

所以,我不确定从哪里开始。任何和所有的建议将不胜感激。感谢您花时间阅读。

度过美好的一天: - )

1 个答案:

答案 0 :(得分:3)

将以下内容添加到虚拟主机配置中:

RewriteEngine on
RewriteRule ^/theDirectory(/.*)$ /home/myUser/public_html/theDirectory$1 [L]