我设置了一个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_html, d:/web/sites/alfa/public_html, d:\web\sites\alfad:/web/sites/alfa 无济于事!

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

我显然想保留我的 Alias 指令集中 RewriteRules在每个位置 .htaccess 文件。

有帮助吗?

解决方案

您正在使用

AllowOverride None

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

/ 应该工作 RewriteBase.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top