Apache mod_重写和vhosts配置
我发现mod_rewrite RewriteRule指令有一个奇怪的行为 文件说:Apache mod_重写和vhosts配置,apache,mod-rewrite,Apache,Mod Rewrite,我发现mod_rewrite RewriteRule指令有一个奇怪的行为 文件说: Context: server config, virtual host, directory, .htaccess 作为“服务器配置”,我理解文件“httpd.conf” 如果我在httpd.conf文件上创建了RewriteRule,但没有任何vhost,那么RewriteRule可以正常工作 但是,如果我创建任何vhost,那么httpd.conf文件中的重写规则将不再有效。只有vhost内部的规则
Context: server config, virtual host, directory, .htaccess
作为“服务器配置”,我理解文件“httpd.conf”
如果我在httpd.conf文件上创建了RewriteRule,但没有任何vhost,那么RewriteRule可以正常工作
但是,如果我创建任何vhost,那么httpd.conf文件中的重写规则将不再有效。只有vhost内部的规则有效,“服务器配置”中的任何规则都无效
为什么会有这种行为?这只是mod_rewrite独有的一种奇怪的历史行为——默认情况下不会合并到虚拟主机中。在2.4中,有新的重写选项允许您将重写规则从全局范围“推”到vHost中 有关行为的更多信息,请参见重写选项