有没有办法阻止服务器覆盖您的HTML代码?

问题描述:

我在朋友的专用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

无法编写HTML,服务器无法修改将其读入内存并将其发送给客户端。

任何用于阻止其被修改的手段完全取决于软件如何进行修改。

如果它是通过Apache配置指令应用的,那么您可以使用不同的指令将其关闭,其中<Location>,<Directory>或其他块将其范围仅限于文件。

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

+0

所以,如果我正确理解你的建议,我应该实现我自己的.htaccess指令,这应该是第二个覆盖代码,因为直接来自Apache配置的指令首先被执行,然后是htaccess指令,从而消除了所有来的指令从以前的指令。基本上要求Apache再次读取文件并为我重写。这可能会起作用,但它会给加载时间带来一些额外的开销 –

+0

@TheLaw Apache由于htaccess而有开销。但取决于vhost config的配置指令可能会被阻止。你不能让他在头部末端移动他的指标吗(在''之前)?这应该适合你。 –