2010-06-26 80 views
0

我有一个Windows/Apache/PHP环境设置为模仿共享主机帐户,但不能让mod_aliasmod_rewrite与另一个很好地玩。它们都是在服务器级别和每个站点上启用的。我有d:\web\public_html\设置为DocumentRoot。但一般来说它将是空的。我怎样才能让mod_rewrite和mod_alias一起工作?

我有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文件夹(S)是在我的每个站点.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 S IN每个站点.htaccess文件。

回答

2

您正在使用

AllowOverride None 

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

/应该适用于RewriteBase

+0

直接从我的httpd.conf:<目录“d:/网络/的public_html”> 选项指标的FollowSymLinks 设置AllowOverride所有 订购允许,拒绝 所有 – Matthew 2010-06-26 08:11:17

+1

@马特让这样的代码,你在你的报价问题不是正确的? – 2010-06-26 08:17:12

+0

谢谢!我有一个单独的文件给httpd.conf,我没有在其中发现它!非常感谢! – Matthew 2010-06-26 08:57:49

相关问题