在我的Ubuntu開發機器上運行LAMP堆棧。對於每一個網站,我的工作,我創建了一個新的目錄關根:.htaccess不同目錄之間的重寫規則衝突
/var/www/somesite.com
/var/www/anothersite.com
我的問題是,阿帕奇不會允許跨這些文件夾重複重寫規則。舉例來說,如果我成立了這一點:
重寫規則^軌道/(.*)$ /somesite.com/order_track.php [NC,L]
http://localhost/somesite.com/track/abc123
- 可以作爲intented
此相同阿帕奇返回404
- 宣言anothersite.com重寫規則^軌道/(.*)$ /anothersite.com/order_track.php [NC,L]
http://localhost/anothersite.com/track/abc123
不會工作
清除瀏覽器緩存並重新啓動Apache不起作用。阿帕奇似乎「記得」第一個像使用的重寫小冊子。這發生在我所有的電腦(家庭,工作,筆記本電腦)
編輯:我應該提到,我在每個目錄中有一個htaccess文件。根/ var/www不包含htaccess文件。每個目錄的htaccess應該獨立運行。但他們沒有。在/anothersite.com/.htaccess
RewriteEngine On
RewriteBase /somesite.com/
RewriteRule ^track/(.*)$ order_track.php [NC,L]
那麼這個:
雖然它工作,這感覺就像一個解決方法。我寧願知道Apache爲什麼會這樣。感謝您的輸入! –
我可以知道你爲什麼認爲這是一種解決方法嗎? – anubhava
我說這是一種解決方法,因爲從我讀過的內容來看,Apache不應該以這種方式行事。子文件夾中的每個htaccess文件應獨立運行。我找不到解決問題的其他方法,因此我正在使用您提供的解決方案。 –