2015-05-13 126 views
0

我發現一個奇怪的行爲與mod_rewrite RewriteRule指令。mod_rewrite和虛擬主機配置

文件說:

Context: server config, virtual host, directory, .htaccess 

「服務器配置」 我理解文件 「的httpd.conf」。

如果我在httpd.conf文件上創建了RewriteRule,並且沒有任何虛擬主機,那麼RewriteRule工作正常。

但是,如果我創建任何虛擬主機,從httpd.conf文件的RewriteRule不再工作。只有在虛擬主機內工作,「服務器配置」中的任何規則都不會。

爲什麼會這樣?

回答

0

這只是一個奇怪的歷史行爲,這是mod_rewrite所獨有的 - 默認情況下不合併到虛擬主機中。在2.4中,有新的RewriteOptions允許您將重寫規則從全局範圍「推」到虛擬主機中。

有關行爲的更多信息,請參閱RewriteOptions。