2016-07-26 62 views
0

我在朋友的專用Apache服務器上運行一個網站。但問題是,他也運行電子商務,並設置服務器上的每個頁面在服務器上的每個頁面都被添加了兩個標籤,用於他自己的服務器指標,這顯然伴隨着charset聲明,那應該是第一個在head有沒有辦法阻止服務器覆蓋您的HTML代碼?

,讓每個網頁的頭部看起來像這樣處理服務器後:

<head> 
<script></script> 
<script></script> 
<meta charset="utf-8> 
</head> 

這是從W3有效性的角度來看顯然不好,也詮釋這些腳本阻塞頁面渲染,直到它們被加載的條件,但他不想改變這種行爲。

那麼有什麼我可以用我的代碼做的,所以服務器不能改變頭部?

+0

「這顯然與字符集聲明弄亂了,這應該是第一位在頭。「 - 不,它應該[在文檔的前1024個字節內](https://www.w3.org/TR/html5/document-metadata.html#charset)。 – Quentin

+0

@Quentin從技術角度來看,如果你在第一行的頭部添加字符集,它是第一個1024位(所以我們都是正確的,只有你的技術上更準確),但是由於這些腳本超過了1024位,所以編碼被捕獲了 –

+0

字節,而不是......這使得它們真的很長的腳本。 – Quentin

回答

2

無法編寫HTML,服務器無法修改將其讀入內存並將其發送給客戶端。

任何用於阻止其被修改的手段完全取決於軟件如何進行修改。

如果它是通過Apache配置指令應用的,那麼您可以使用不同的指令將其關閉,其中<Location>,<Directory>或其他塊將其範圍僅限於文件。

如果它有一些手段對文件本身的指標(如另一<meta>指令排除,那麼你可以使用它。

+0

所以,如果我正確理解你的建議,我應該實現我自己的.htaccess指令,這應該是第二個覆蓋代碼,因爲直接來自Apache配置的指令首先被執行,然後是htaccess指令,從而消除了所有來的指令從以前的指令。基本上要求Apache再次讀取文件併爲我重寫。這可能會起作用,但它會給加載時間帶來一些額外的開銷 –

+0

@TheLaw Apache由於htaccess而有開銷。但取決於vhost config的配置指令可能會被阻止。你不能讓他在頭部末端移動他的指標嗎(在''之前)?這應該適合你。 –

相關問題