如何为自定义目录配置apache?

时间:2012-03-11 21:19:56

标签: apache mod-rewrite apache2

尝试将apache2配置为从相对于站点根目录的其他文档根目录加载example.com/forum/。论坛安装在服务器上的其他位置。

是否有目录别名命令?我找到了apache的alias配置条目,但没有运气。

基本上,我希望example.com拥有与之相同的目录,但是在同一服务器上将example.com/forum/托管在其他地方。

我用mod_rewrite标记了这个问题,因为我想也许这就是关键,这里。

干杯!

2 个答案:

答案 0 :(得分:3)

Alias是正确的方式,除非你有一些你在问题中没有透露的微妙之处。

 # http.conf
 Alias /forum /usr/lib/bbs/  # or whatever

Alias的工作是将抽象URL带入您的系统并将其映射到具体的文件系统路径。完成后,请求不再是URL而是路径。如果没有Alias或类似的指令处理该URL,则它将通过DocumentRoot映射到conrete路径。

如果这不起作用,则必须进一步调试。访问/forum时是否收到错误?查看错误日志。

答案 1 :(得分:0)

这完全取决于你想要什么。你可以用真实路径“硬链接”并且它可以工作(所以你认为它可以与mod_rewrite一起使用是正确的。)

快速示例(适用于我的生产域)进行内部更改(我添加了一个子目录):

 RewriteRule  (.*) %{DOCUMENT_ROOT}/mysubfolder%{REQUEST_FILENAME} [QSA,L]

因此,您可以轻松地执行以下操作:

 RewriteRule  ^/forum/(.*) %{DOCUMENT_ROOT}/mysubfolder%{REQUEST_FILENAME} [QSA,L]

我的建议是,如果你计划有更多的重写规则,保持一切同质,即:继续使用 only 重写规则,所以请使用我的建议。这样,您就不会混淆AliasRewriteRule等等。对于漂亮和干净的东西:保持一切均匀。