1
我有這樣的規則:mod_speling內部重定向,或如何處理與瓶蓋的mod_rewrite
RewriteRule ^(panel|admin|site)/([A-Za-z0-9]+?)/(scripts|assets)/(.*)$ Project/$2/Public/$3/$1/$4 [L]
的想法是允許訪問的公共資產,因爲它們存在的代碼中的模塊。唯一的問題是命名方案需要標題案例(讓我們假設這是不可改變的)。因此,一個請求:
/site/users/scripts/myscript.js
返回404,但:
/site/Users/scripts/myscript.js
作品。
我試圖使用mod_speling對付外殼的問題,但是mod_speling做一個完整的重定向,而不是一個內部的,因此URL給最終用戶的變化:
/Project/Users/Public/scripts/myscript.js
這是沒有好。這意味着我的目錄結構有點暴露,這意味着我需要一個額外的重寫規則來傳遞它。
有沒有辦法更好地處理mod_rewrite中的大寫字母,即不使用RewriteMap? (需要保持在.htaccess中的一切)
另外,有沒有辦法改變mod_speling使用內部重定向?
由於某些未知原因,在使用它們之前(例如'RewriteMap tolower int:tolower'),您必須手動定義內部'RewriteMap'函數,這涉及編輯服務器/虛擬主機配置。這是不幸的,因爲這絕對是這裏工作的最佳工具。 – 2010-09-06 17:28:01
是的,這是我一直在跑的牆。 :(我們部署在各種各樣的服務器上,我通常沒有那麼多的訪問權限,所以我不能假設我有它。 – jhogendorn 2010-09-07 00:50:39
我打算把這個標記爲正確答案,它並不是真的「正確」在回答這個問題的標準時,但由於這是不可能的,所以這個答案就近了:) – jhogendorn 2011-03-10 23:09:07