2012-07-15 43 views
1

我發現我的網站加載第一頁的速度很慢,但之後罰款,一些嘗試與Apache配置建議以下之一可能是問題:Apache網站緩慢加載,可能允許覆蓋或重寫問題

  1. 的AllowOverride - 我知道有設置AllowOverride設置爲所有可以減緩站點下來,因爲它看起來對每個文件夾中的.htaccess文件讓我感動的配置到虛擬主機文件並提出了AllowOverride無從而關閉.htaccess文件,這最初似乎解決了這個問題,但是當我再次嘗試時,問題又回來了,所以也許不是這樣。

  2. 我刪除了AllowOverride行,所以它默認恢復爲默認設置(無)。這似乎有所幫助,但它仍然有時會發生。

  3. 這可能是重寫規則分別是:

    RewriteEngine On    
    
    RewriteCond %{HTTP_REFERER} !^$ 
    RewriteCond %{HTTP_REFERER} !^http(s)?://(.+\.)?example\.com/.*$ [NC] 
    RewriteCond %{HTTP_REFERER} !google. [NC] 
    RewriteCond %{HTTP_REFERER} !search?q=cache [NC] 
    RewriteCond %{HTTP_REFERER} !msn. [NC] 
    RewriteCond %{HTTP_REFERER} !yahoo. [NC] 
    RewriteRule ^.*$ - [F]  
    
    RewriteCond %{REQUEST_FILENAME} -s [OR] 
    RewriteCond %{REQUEST_FILENAME} -l [OR] 
    RewriteCond %{REQUEST_FILENAME} -d 
    RewriteRule ^.*$ - [NC,L] 
    RewriteRule ^.*$ index.php [NC,L] 
    

然而,一些網站不使用這一點,其實都不會被使用重寫,而且仍然緩慢,這不似乎也是問題。

任何想法?

編輯:

這並不是說是問題,因爲即使一個簡單的HTML,只有有「Hello World」的有問題的網站。

它在以前版本的Apache上工作正常,但自從升級到2.4(當很多事情改變,特別是配置)時,它變得很慢。

+0

「......緩慢加載的第一頁,但罰款之後...」你看着錯誤的地方。開始使用Firebug/Pagespeed或equiv來整理你的內容緩存。 – TerryE 2012-07-16 07:43:39

+0

我認爲你誤解了,延遲是在你進入網站之前,像一些有點服務器問題。當網站加載速度很快時,你可以四處移動,沒有任何問題。首先加載一個只有「hello world」的站點並且沒有其他內容,所以這個問題甚至會變得緩慢。 – AdrenalineJunky 2012-07-16 10:29:41

+0

您是否託管共享服務? – TerryE 2012-07-16 10:53:53

回答

0

我有一些問題,用Apache和RewriteRule緩慢加載CSS,JS和其他靜態文件。如果您也有這個問題,請查看Chrome的開發者工具>網絡。在我的情況下.php渲染速度很快,但之後我必須等待10秒才能加載.css文件!如果這對你來說是一樣的話,我的修補程序也可能適用於你。既然你聲明第一個加載速度慢,後面的速度很快(在瀏覽器中緩存css文件),我想它會:)

而不是讓RewriteRule引擎處理所有的靜態文件,實際上也重寫靜態文件名...:

RewriteRule ^.*\.(jpg|gif|png|js|css|pdf|eot|woff|ttf|svg|ico)$ /$0 [L] 

......這要好於不打擾重寫規則引擎處理靜態文件名:

RewriteCond $0 !\.(jpg|gif|png|js|css|pdf|eot|woff|ttf|svg|ico|html)$ 

在你的情況,你不用專門爲您的靜態文件重寫規則但也沒有RewriteCond,所以我猜是否符合要求ts只是傳遞給RewriteRule引擎。

順便說一下,我不知道爲什麼它是通過Apache(2.4)通過RewriteRule加載靜態文件的問題。任何人?

希望這可以幫助你!