2010-05-12 79 views
2

我們遇到了在那裏我們有一個現有的別名的問題,我們想補充一個重寫規則趕不區分大小寫拼寫的所有變化,即:Apache的重寫和別名組合

URL: http://www.example.com/example 

Alias /example "/var/www/html/web/example" 

我們需要重寫規則趕上:

/ExamPle 

/exampLE 

/eXAmple 

等等

我們似乎無法得到改寫&別名一起工作。

回答

2

在您的主要配置:

RewriteRule ^/example(?:$|/)(.*) /example/$1 [NC,PT,R] 

神奇的是在NC(任何情況下)修改。如果你不想要前鋒,你可以省略R修飾符。 PT(pass-through)修飾符應該可以很好地與Alias配合使用。

+0

非常感謝您的回覆。不幸的是,這會導致以下錯誤: 錯誤的請求: /無效的URI在請求GET /例如HTTP 1.1 我發現如何apache的內部處理別名&重新寫入: 內部處理: /xyz/oldstuff.html - > /abc/def/oldstuff.html(per-server Alias) /abc/def/oldstuff.html - > /abc/def/newstuff.html(per-dir RewriteRule) /abc/def/newstuff.html - > /xyz/newstuff.html(每個目錄RewriteBase) /xyz/newstuff.html - > /abc/def/newstuff.html(每個服務器別名) 任何幫助,將不勝感激 謝謝! – Larry 2010-05-13 16:18:26

+0

請寫下您當前的相關配置指令。 – Artefacto 2010-05-13 19:22:28