2013-09-26 43 views
1

我有一個網站這樣設置:htacces文件影響的父目錄

目錄結構:

/usr/local/sites/example.com/secure/admin 

在阿帕奇example.com:80點主要主機配置到

/usr/local/sites/example.com 

的HTTPS配置爲example.com:443點

/usr/local/sites/example.com/secure 

我有使用不同域中的另一個虛擬主機,我們稱之爲 example2.com:443我使用嚴格的管理的東西指向:

/usr/local/sites/example.com/secure/admin 

我.htaccess文件中都example.comexample.com/secure與 一些mod_rewrite規則。

有一個在/usr/local/sites/example.com/secure/admin

沒有.htaccess文件然而,當我訪問example2.com管理網站,從父目錄中的.htaccess文件 影響的管理頁面的功能。

它應該是這樣嗎?不應該只在虛擬主機的文檔根目錄中應用 mod_rewrite規則嗎?

我試圖把.htaccess文件中/usr/local/sites/example.com/secure/admin 下列要求:

<IfModule mod_rewrite.c> 
    RewriteEngine Off 
</IfModule> 

阿帕奇:

Apache/2.2.22 (Unix) DAV/2 PHP/5.3.15 with Suhosin-Patch mod_ssl/2.2.22 OpenSSL/0.9.8r 

這是Mac OS X服務器上,如果它的事項(這就是爲什麼我已經不能 更新apache或php)。我希望很快將硬件發佈到linux發行版 。

回答

1

您實際上想要打開上的重寫引擎。由於htaccess文件中的規則總是取代父目錄中的任何規則(當不使用Injerit時),您要做的是打開重寫引擎,並在您的htaccess文件中有沒有規則。這迫使它優先於父目錄中的規則。

<IfModule mod_rewrite.c> 
    RewriteEngine On 
</IfModule> 

而且由於它具有優先權並且沒有規則,因此不會應用重寫內容。

+0

沒有工作。離開重寫引擎,沒有規則對問題沒有影響。不過,奇怪的是,document_root目錄上方目錄中的.htaccess文件會影響該網站。理論上,它不應該。 –

+0

@JohnnyBravo不,不應該有一種方法可以在文檔根之外的htaccess文件進行評估。你確定*它是那些htaccess文件?就像,如果你刪除它們,那麼你訪問'example2.com:443',一切正常? –

+0

是的,它是父目錄中的文件。我暫時禁用它們,一切正常。這讓我瘋狂。我更新了服務器到Apache 2.2.4和PHP 5.3.26,並沒有解決問題。 –