2017-10-15 40 views
1

我在Joomla的根訪問文件中添加了.htaccess指令。 現在它按預期工作,除了某些文件夾中的文件。 我檢查了文件夾中未應用的文件,但沒有其他.htaccess文件可以覆蓋根目錄中的默認.htaccess。 未應用的文件示例是js和css文件。Htaccess指令不適用於所有文件

  1. 這些文件來自非第三方服務器。
  2. 這些文件不包含任何查詢字符串。

我使用的指令是這樣的:

ExpiresActive On 
ExpiresByType image/jpg "access plus 1 year" 
ExpiresByType image/jpeg "access plus 1 year" 
ExpiresByType image/gif "access plus 1 year" 
ExpiresByType image/png "access plus 1 year" 
ExpiresByType text/css "access plus 1 month" 
ExpiresByType application/pdf "access plus 1 month" 
ExpiresByType text/x-javascript "access plus 1 month" 
ExpiresByType application/x-shockwave-flash "access plus 1 month" 
ExpiresByType image/x-icon "access plus 1 year" 
ExpiresDefault "access plus 2 days" 

還有什麼我可以檢查,找出什麼可能會改寫上面的指令。

+0

你的Apache服務器和虛擬主機配置如何? – Webdesigner

+0

這很好,因爲我在同一臺服務器上有很多其他網站,並且在其他網站上沒有這個問題。 – Joshi

回答

0

如果這些ExpiresByType沒有兌現,這意味着這些文件不是由Apache提供的,或者在某處有另一個覆蓋。

一些joomla插件可以動態地提供css和js(以添加壓縮或過期),所以這是您應該首先查看的地方。 某些網絡服務器在Apache之前使用nginx代理,而css/js文件由nginx而不是Apache提供。所以看看你的Apache日誌文件,它是爲你提供這些文件的Apache。 再次關注您的虛擬主機配置。在同一服務器上的其他網站上沒有問題並不意味着該重寫不在您的虛擬主機配置上。

取消激活PHP,重新啓動服務器,加載這些css/js文件並查看是否有任何更改。 (這是爲了測試這些文件是否由任何php腳本處理) 嘗試加載一些不存在的css文件並分析您的訪問日誌。 關閉Apache並加載css文件(這是爲了檢查你是否有nginx代理或類似的東西)。