2016-11-07 104 views
1

我想由你來執行此操作,因爲我試圖完善一個Apache mod重寫規則,該規則可以正常工作,但由於我的文件路徑中斷,我要瘋了。通過子域的Mod重寫條件

基本上,我已經成立了一個國防部重寫規則重定向子域,在我的文檔根目錄的子目錄包含一個靜態的index.html文件。現有規則列出如下:

RewriteCond %{HTTP_HOST} ^subdomain\.mydomain\.com$ 
    RewriteCond %{REQUEST_URI} !^/subdirectory/ 
    RewriteRule ^(.*)$ /subdirectory/$1 [PT] 

重定向工作正常。然而,發生了什麼事,我的形象正在打破。例如,「/子目錄/ IMG」,具有以下img標籤,不爲我工作:

<img src="img/some-image.png" /> 
當我的圖像移動到根

同樣的事情發生,並試圖直接減去調用圖像'img /'路徑。

難道我的重定向有什麼關係呢?或者我錯過了什麼?我的印象是,使用Pass Through [PT]標誌意味着資產鏈接將起作用。

任何意見非常感謝。謝謝你的幫助!

馬克。

回答

0

解決的問題。該規則完美工作,它只是在.htaccess文件中的位置。我把它直接移到下面:

RewriteEngine  On 

圖片和JS資產現在正在加載罰款。我還加了一個缺失的'L'標誌。

最後的工作代碼:

RewriteEngine  On 
    RewriteCond %{HTTP_HOST} ^subdomain\.mydomain\.com$ 
    RewriteCond %{REQUEST_URI} !^/subdirectory/ 
    RewriteRule ^(.*)$ /subdirectory/$1 [PT, L] 
0

這是因爲您正在使用您的圖像相對URL路徑。無論使用絕對路徑開始與/或在網頁的頭部分添加以下基本標籤:

<base href="/"> 

相關: Seo Friendly Url css img js not working

+0

這不是這麼簡單,我怕。雖然我希望是。無論我使用什麼路徑,圖像都會導致500服務器錯誤。我認爲它有更多的與.htaccess文件。 subdomain.mydomain.com/img/some-image.png未找到。 –