我设置了一个Windows / Apache / PHP环境来模仿共享主机帐户,但无法让mod_alias
和mod_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_html
,d:/web/sites/alfa/public_html
,d:\web\sites\alfa
和d:/web/sites/alfa
都无济于事!
这甚至可能吗?如果是这样,我做错了什么?
我显然希望将Alias
指令集中在RewriteRule
个.htaccess
个文件中。
答案 0 :(得分:2)
您正在使用
AllowOverride None
指令,从而禁用别名目录中的任何.htaccess
文件。
删除它,它应该工作。
/
适用于RewriteBase
。