![Apache 发送不带注释的 HTML](https://linux22.com/image/573187/Apache%20%E5%8F%91%E9%80%81%E4%B8%8D%E5%B8%A6%E6%B3%A8%E9%87%8A%E7%9A%84%20HTML.png)
我的 Apache Webserver 出了问题,我有两个环境:开发环境和生产环境。两个环境的配置相同,但第一个环境发送的 HTML 与创建时完全相同,而第二个环境发送的文件则不完全相同。它们省略了浏览器不关心的空格、注释和其他字符,但如果我的应用程序从这些文件生成哈希,而 Apache 更改了该文件,则哈希将不一样。
我一直在寻找差异,但什么也没找到。有什么建议吗?
我的 apache2 配置
<VirtualHost *:80>
ServerName XXX
ServerAlias XXX XX.XX.XX.XX
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/api-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel info
CustomLog /var/log/apache2/api-access.log "%h %t %T %D %m %X %U"
# Timestamp | bytes Downloaded | bytes Uploaded | PlayerID | IP | URL
CustomLog /var/log/apache2/traffic-access.log "%{%s}t|%O|%I|%{Referer}i|%a|%U"
ServerSignature On
Alias /img/screenshots /dev/shm/screenshots
#Alias /videos /mnt/STORAGE/videos
Alias /awstats-icon/ /usr/share/awstats/icon/
ScriptAlias /aw-api-stats/ /usr/lib/cgi-bin/
<Location /server-status>
SetHandler server-status
Allow from all
</Location>
</VirtualHost>
ExtendedStatus On
这是我的生产配置文件,启用的模块及其默认值如下:
alias.conf authz_groupfile.load cgi.load env.load php5.conf setenvif.conf alias.load authz_host.load deflate.conf mime.conf php5.load setenvif.load auth_basic.load authz_user.load deflate.load mime.load reqtimeout.conf status.conf authn_file.load autoindex.conf dir.conf negotiation.conf reqtimeout.load status.load authz_default.load autoindex.load dir.load negotiation.load rewrite.load
谢谢
答案1
在不知道您的配置的情况下无法具体说明,但您的生产环境设置为使用 HTML 压缩器。您需要仔细研究您的配置,将您不希望 Apache 压缩的页面设置为例外。检查您的 Web 服务器上安装了哪些模块。