如何让mod_rewrite和mod_alias一起工作?

时间:2010-06-26 07:51:07

标签: windows apache mod-rewrite mod-alias

我设置了一个Windows / Apache / PHP环境来模仿共享主机帐户,但无法让mod_aliasmod_rewrite相互配合。两者都可以在服务器级别和每个站点上启用。

我已将d:\web\public_html\设置为DocumentRoot。但一般来说它会是空的。

我有d:\web\sites\这是我将存储我的网站并指向使用Alias的地方,它下面有以下目录结构:

d:\web\sites\alfa
d:\web\sites\alfa\public_html
d:\web\sites\bravo
d:\web\sites\bravo\public_html

我设置的别名如下:(它们肯定有效!)

Alias /alfa d:/web/sites/alfa/public_html
<Directory "D:\web\sites\alfa\public_html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

public_html文件夹是我的每个网站.htaccess文件存储的位置,它们肯定已启用mod_rewrite但无法正常工作。

到目前为止,我已经解开了RewriteBase应该是什么。我尝试过//alfa/alfa/alfa/。我甚至试过d:\web\sites\alfa\public_htmld:/web/sites/alfa/public_htmld:\web\sites\alfad:/web/sites/alfa都无济于事!

这甚至可能吗?如果是这样,我做错了什么?

我显然希望将Alias指令集中在RewriteRule.htaccess个文件中。

1 个答案:

答案 0 :(得分:2)

您正在使用

AllowOverride None

指令,从而禁用别名目录中的任何.htaccess文件。 删除它,它应该工作。

/适用于RewriteBase