我可以在我的apache.conf文件中放入mod_rewrite语句吗?

时间:2012-03-16 23:01:21

标签: mod-rewrite lamp

现在我所有的mod_rewrite相关语句都在我的VHost配置文件中。我想将常见的移动到我的apache配置文件中。但是,当我移动这两个陈述中的任何一个时

RewriteEngine on
RewriteMap domainMapper prg:foo/bar.php

网站破了。查看mod_rewrite documents表示RewriteMap指令应该在server configvirtual host上下文中都有效。然而,这种情况并非如此。有人可以澄清我是做错了什么,还是没有做必要的事情?

1 个答案:

答案 0 :(得分:1)

您可以将重写放在VirtualHost条目之外。但是,必须将重写提取到虚拟主机上下文中,因为这是处理URL的位置。你必须设置

RewriteEngine on         # turn on rewrites in this vhost
RewriteOptions Inherit   # inherit rules from outside scope

在每个VirtualHost中,这些外部重写将处于活动状态。启用引擎不是继承的,因此Inherit本身是不够的。

有关详细信息,请参阅文档:

http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteoptions