2011-06-30 49 views
3

我正在檢查谷歌頁面速度工具@http://pagespeed.googlelabs.com和我的網站點是88.它建議我使用槓桿瀏覽器緩存的網站。我搜索了關於它的stackoverflow,但它都是關於htaccess,我的主機不讓我使用htaccess,我如何在沒有htaccess的情況下使用PHP?利用瀏覽器緩存與PHP?

htaccess的代碼是

<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> 
Header set Cache-Control "max-age=290304000, public" 
</FilesMatch> 
+9

獲得更好的虛擬主機。 – SLaks

+1

沒有.htaccess?真的嗎?那個主機叫什麼名字? – deceze

+0

這是雅虎主機 –

回答

5

做任何事情。如果你的主機供應商不支持.htaccess配置也與其他方法的web服務器,你會需要將整個HTTP堆棧實施到您自己的應用程序中,以提供您自己的配置。

這意味着爲文件旁邊的文件本身發送適當的標題。您需要將這些文件映射到您的應用程序的命令上(通常使用.htaccess + Mod_Rewrite也是如此)。

簡而言之,您需要通過設置標題的PHP腳本來提供所有內容。然而,這有一個缺點,即PHP需要處理所有與Web服務器的靜態文件傳輸相比速度上的缺陷。所以我不能真的建議你這樣做。在重新發明輪子之前,只需要獲得適當的webhoster(或升級軟件包)以獲取要查找的功能要容易得多。因此獲得一些.htaccess支持可能是最簡單的方法。

作爲替代方案,但有點類似,您可以考慮將靜態文件放到另一臺提供所需功能的主機上(例如CDN),並將核心應用程序保留在當前虛擬主機上,但我認爲這隻會讓事情比它更容易幫助你。

1

你不能做沒有權限通過htaccess的或ACP

2

經過一天的研究,我得到了這個解決方案,利用瀏覽器兌現與.htaccess文件。

記住指定mod_expires和mod_headers中應在服務器

開放只要把上.htaccess文件。

<IfModule mod_expires.c> 
    ExpiresActive On 
    ExpiresDefault "access plus 1 seconds" 
    ExpiresByType image/x-icon "access plus 2592000 seconds" 
    ExpiresByType image/jpeg "access plus 2592000 seconds" 
    ExpiresByType image/png "access plus 2592000 seconds" 
    ExpiresByType image/gif "access plus 2592000 seconds" 
    ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" 
    ExpiresByType text/css "access plus 604800 seconds" 
    ExpiresByType text/javascript "access plus 216000 seconds" 
    ExpiresByType application/x-javascript "access plus 216000 seconds" 
    ExpiresByType text/html "access plus 600 seconds" 
    ExpiresByType application/xhtml+xml "access plus 600 seconds" 
</IfModule> 
<IfModule mod_headers.c> 
<FilesMatch "\\.(ico|jpe?g|png|gif|swf)$"> 
Header set Cache-Control "max-age=2692000, public" 
</FilesMatch> 
<FilesMatch "\\.(css)$"> 
Header set Cache-Control "max-age=2692000, public" 
</FilesMatch> 
<FilesMatch "\\.(js)$"> 
Header set Cache-Control "max-age=216000, private" 
</FilesMatch> 
<FilesMatch "\\.(x?html?|php)$"> 
Header set Cache-Control "max-age=600, private, must-revalidate" 
</FilesMatch> 
Header unset ETag 
Header unset Last-Modified 
</IfModule>