我的設置是有有雖然不同的內容類似結構的兩個或多個站點共享資源。在示例中...
http:// localhost/site1/
http:// localhost/site2/
重寫規則旨在爲共享資源添加例外。在示例腳本文件夾(和它裏面當然一切)被改寫所以...
http:// localhost/scripts/
...是...訪問
http:// localhost/site1/scripts/
http:// localhost/site2/scripts/
的問題
當試圖訪問...
http:// localhost/site1/scripts/admin.js
...下面再通過寫入當前的規則適用,並試圖將其改寫爲admin目錄...
RewriteEngine on
RewriteRule .*/admin(.+) admin$1 [QSA] #Messes with scripts/admin.js
我認爲這是一個目錄深度的問題,治所在。* /可應用於多個第一目錄(SITE1 /),並且固有地(並且不希望地)適用於所有目錄深度(例如,深度1 /深度2 /深度3 /等)。
期望的結果
如何調整這個規則,使...
- 管理指數(SITE1 /管理/)此規則caputed。
- 此規則忽略管理JavaScript文件(site1/scripts/admin.js)。
- 我們保留規則(RewriteRule。*/admin)的動態起始位,所以無論使用的目錄名稱是否會繼續自動工作或我們可以修改它以獲得相同的效果,但最終的結果是它必須保持動態。
- 我不重命名admin.js,因爲它會便宜,因此我不會從中學習。
我已經閱讀了這個問題,我不明白你想達到什麼目的。請舉出一些應該重寫的東西(以及它們應該成爲的東西)以及不應該被重寫的東西。 –
localhost/site1/example.js被重寫爲localhost/scripts/example.js(正確) – John
localhost/site1/admin.js被post中的規則捕獲並拋出一個HTTP 404.我認爲是因爲。* /可能適用於TWO目錄深度而不是隻有一個目錄深度。我們可以限制規則的目錄深度嗎? – John