[英]CSS and Images don't load on Page Load, but loads on page Refresh
所有,
我有一個具有以下結構的PHP MVC應用程序:
helloworld
- application
- configs
- controllers
- models
- layouts
- include
- library
- public
- .htaccess
- index.php
- design
- css
- style.css
- struct.css
- js
- images
- bg.gif
我已經在apache中配置了一個名為hello
的虛擬主機,該主機指向helloworld/public/
文件夾。 因此,當我查看自己的網站時,使用http://hello
所有CSS和圖像正常顯示。
我將網站部署到具有上述類似配置的其他服務器上。 當我使用http://test.com/hello
訪問網站時,CSS和其中包含的背景圖像在Chrome和Safari中呈現絕對良好,但背景圖像在IE,Firefox和Opera上無法運行。 在這些瀏覽器上刷新頁面時,它可以正常工作。 我無法理解此行為。
我的CSS中的網址是這樣寫的:
background-image: url(/design/images/bg.gif);
和我的htaccess是這樣的:
Options -MultiViews -Indexes
#####################################################
# CONFIGURE media caching
#
Header unset ETag
FileETag None
Header unset Last-Modified
Header set Expires "Fri, 21 Dec 2012 00:00:00 GMT"
Header set Cache-Control "max-age=7200, must-revalidate"
SetOutputFilter DEFLATE
#
#####################################################
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
有人可以解釋為什么背景圖像和CSS在頁面加載時不能正確呈現,而是在頁面刷新后呈現嗎?
讓我們做一些測試以確定問題所在
1-嘗試訪問http://test.com/hello/design/images/bg.gif ,它應該可以訪問,否則訪問權限問題
2-然后嘗試在css文件中使用絕對URL,例如background-image: url(http://test.com/hello/design/images/bg.gif);
3-如果您仍然遇到問題,那么它的設計問題,我想您正在使用IE 6, 請在此處查看
嘗試取消注釋.htaccess上的deflate選項,也許您的服務器未激活mod_deflate。
#SetOutputFilter DEFLATE
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.