htaccess重写行为(文档根?)

时间:2012-08-06 20:58:00

标签: apache .htaccess

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

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

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

必须通过保存在

中的index.php访问每个文件
/var/www/www.example.org/start1

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

on 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-folder的index.php。

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

1 个答案:

答案 0 :(得分:0)

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

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

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