0

我有一个 htaccess/apache 重写问题,但它有点棘手:

我有一个像 www.example.org 这样的域,所有内容文件都在

/var/www/www.example.org/content 

每个文件都必须通过 index.php 访问,该 index.php 保存在

/var/www/www.example.org/start1

所以有一个 .htaccess 将所有内容重写为 index.php (没问题)。

在 apache 上是一个主机定义:

ServerName  www.example.org
DocumentRoot /var/www/www.example.org/start1

一切都很好,但现在我有第二个要求:

内容中有特殊文件,应通过另一个 index.php 访问(无法使用与以前相同的 index.php),

所以我把第二个 index.php 放进去

/var/www/www.example.org/start2 

并让 .htaccess 将所有内容重写为新的 index.php。

在apache中我定义了一个别名

Alias /special /var/www/www.example.org/start2 

当我现在访问 www.example.org/special/file 时,来自 /var/www/www.example.org/start2 的 .htaccess 是重写日志中的第一个。但是它将它重写为 start1 文件夹中的 index.php,而不是像我预期的那样,重写为 start2 文件夹中的 index.php。

我认为这是因为文档根目录,但我不知道我能做什么。VHost 是没有选择的,因为只有一个域

4

1 回答 1

0

在 start2 文件夹中,您可能需要执行以下操作:

RewriteRule ^(.*) /special/index.php [L]

因为您已别名/special/var/www/www.example.org/start2.

于 2012-08-06T21:44:50.993 回答