簡體   English   中英

CSS和圖像不會在頁面加載時加載,但是會在頁面刷新時加載

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM