2011-05-07 95 views
0

我規劃一些設置類似於下面的內容: https://wordpress.stackexchange.com/questions/6109/how-can-i-lock-down-an-old-wordpress-install-i-dont-intend-to-update頭中發送靜態名的文件

基本上,文件夾和文件都像一個PHP站點高速緩存中產生。

什麼標題信息發送擴展名文件?標題信息是否存儲在文本文件中,如修改日期或其他內容?
我想停止對所有網站內容使用擴展程序。 例如:

/about - html page 
/js - my sites javascript with appropriate header info 
/logo - my sites logo 
etc. 

是否有設定名的文件的任何負面或影響。 如果我設置了緩存系統呢?

+0

var_dump你的$ _SERVER變量,你會得到你的信息 – Ibu 2011-05-07 04:55:21

+0

@Ibrahim Diallo =我很肯定,不知道服務器發送給客戶端的東西... – 2011-05-07 04:58:46

回答

1

如果沒有擴展名,有多種選項可以爲靜態文件設置標題。對於整個目錄是最容易在.htaccess使用DefaulType

# js/ directory 
DefaultType application/javascript 

同級ForceType有時也是有用:

<Files about> 
    ForceType text/html 
</Files> 

但你也可以設置爲使用例如單個文件頭一個RewriteRule

RewriteRule logo - [T=image/jpeg] 

而另一種選擇是使用mod_meta。這允許每個靜態文件伴隨一個.meta文件,它定義了發送的MIME類型。

+0

mode_meta看起來很完美,我將如何創建一個PHP腳本的元文件?我可以使用'ob_start()'保存內容,但我不確定如何生成元文件。 – William 2011-05-08 03:31:05

+0

只需創建一個只包含MIME頭文件的文件:'file_put_contents(「$ fn.meta」,「Content-Type:text/html」);' - 模塊實際上被稱爲mod_cern_meta,用於Apache http://httpd.apache .ORG /文檔/ 2。0/mod/mod_cern_meta.html - 並小心配置「MetaDir。」和「MetaSuffix .meta」以使其輕鬆工作。 – mario 2011-05-08 03:35:35

0
  1. 頭是由Web服務器連接
  2. 發送一個靜態的文件,你可以用Firebug的或類似的工具是什麼頭被髮送
  3. 要覆蓋是由服務器連接頭看,你可以使用PHP的header函數。使用與您要覆蓋的名稱相同的標題名稱。例如,如果你想覆蓋\取消Content-Length標題,你會做header('Content-Length: ')(雖然對於這個特定的標題,取消它是沒有意義的)。
  4. 要將頭文件附加到靜態文件中,您需要在.htacces或Apache的主配置文件中執行此操作(在Apache中)。
+0

在php中,你發送頭像'header(')。 ..')'。因此,不要因爲默認情況下發送的任何Web服務器而忽略這些標題? – William 2011-05-07 04:51:38

+0

@Lime - 是的,這正是覆蓋服務器發佈標題的方式。 – 2011-05-07 04:52:53

+0

那麼如果我生成一個靜態緩存版本,那麼這些PHP重寫頭文件將與文件耦合?標題是否與修改日期和時間等文件捆綁在一起? – William 2011-05-07 04:55:03