2011-09-26 74 views
0

我正好有the same problem treated in this topic。這就是:我在一些文件夾中有一些靜態文件,我只想要一些用戶看到這些內容。該用戶來自以前的登錄。使用PHP靜態文件加載器加載CSS樣式時出現問題

爲了得到那個,我想實現這個主題中給出的第一個解決方案,那就是:

創建「靜態文件」下的以下.htaccess文件:

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule ^(.*)$ ../authorize.php?file=$1 [NC] 

然後在authorize.php ...

if (isLoggedInUser()) readfile('static-files/'.$_REQUEST['file']); 
else echo 'denied'; 

這authorize.php文件是非常簡單過,但你的idea.kquote

因此,將任何請求重定向到authorize.php文件,該文件檢查用戶是否已登錄,如果是,則提供內容。

這與HTML,JS和圖像完美的工作......但我不知道爲什麼CSS樣式不顯示。這很奇怪,因爲我可以直接使用瀏覽器訪問這些css文件,但是當它們從html中調用時,它不起作用。當然,如果我嘗試在沒有authorize.php樣式的情況下正常工作,

我錯過了什麼?

謝謝

+0

當你的腳本吐出css時,你是否正在發佈'Content-type:text/css'?外部CSS文件也需要適當的MIME類型。 –

+0

謝謝@Marc B這就是問題所在。 –

回答

2

你可能沒有發出正確的content-type頭。這使得Firefox中的樣式表失效。

做一個

header("Content-type: text/css"); 

每當一個CSS樣式表已要求。

+0

謝謝@Pekka正是這個問題。解決了,現在。但不僅僅在Firefox中,因爲我正在使用Opera和Chrome進行測試。 –

+0

幾年前,我用PHP和Internet Explorer 4或5生成的CSS有問題,我不記得。嘗試打開gziped的CSS文件時,瀏覽器崩潰。 – corretge

相關問題