2016-02-04 56 views
0

我使用IIS在Windows上配置Expression Engine並安裝了ISAPI v3 Rewrite。Mod重寫調整忽略資產目錄

這部分工作。主站點和子頁面可以工作,但需要修改,因爲某些網頁資產存儲在類似命名的目錄中。

由Ellislabs is this提供的,我已經修改了一些與我們的贏2012 IIS 8服務器工作的建議重寫:

RewriteEngine On 
RewriteBase/

# Removes index.php from ExpressionEngine URLs 
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC] 
RewriteCond %{REQUEST_URI} !/system/.* [NC] 
RewriteRule (.*?)index\.php/*(.*) abc/$1$2 [R=301,NE,L] 

# Directs all EE web requests through the site index file 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ abc/index.php?/$1 [L] 

例如,URL http://oursite.example.com/abc作品。

子頁面大部分都在工作,我懷疑這適用於任何頁面,但我注意到它在子頁面上。它消除的index.php和主要負荷,如http://oursite.example.com/abc/subdept/page/

但是我們的開發人員一直在一個名爲服務器目錄中的一些資產/上傳/ ABC /所以如果一個頁面是指該目錄中,它無法加載這些資產,因爲它包含相同的名稱「abc」。

因此,處理這個問題的最好方法是什麼?

我猜我可以告訴它忽略「uploads/cls」或更正當前的重寫,以便它只查看第一個「abc」。我希望解決方案涵蓋大部分類似的問題,因此我不必修改它。我們有12個網站,我必須將解決方案應用到每個網站。

我試過的一切都沒有奏效。我想!-f和!-d會告訴它忽略它,如果文件或目錄存在,並且看起來不像我期望的那樣工作,因爲這些圖像在/ uploads/abc中/存在。

謝謝!

-

而且只是想獲得它在所有的工作,我嘗試添加在/上傳/ ABC /目錄中以「RewriteEngine敘述關」一個htaccess文件,並未能解決它。

我也試過每個評論後增加這一點,它不能修復:

RewriteCond %{REQUEST_URI} !^/excluded-folder/.*$ 

怎麼看上述兩個嘗試失敗修復它,我想知道是否有可能是別的事情上。有任何想法嗎?

回答

0

我的重寫很好。問題原來是由內部開發人員創建的Expression Engine模板中的代碼。他們更新了代碼,圖像現在正在加載。