我正在我的 OSX 上设置我的第一个网站,这只是为了在我的计算机上使用,以便我可以试用 html 片段。当我打开本地网站并选择任何 HTML 文件时,它会以文本形式返回。我的测试 HTML 文件如下:
<html>
<head>
</head>
<body>
<a>Hello World</a>
</body>
</html>
它显示为实际文本,而不是解释文本。返回的实际 HTML 是:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<title></title>
<meta name="Generator" content="Cocoa HTML Writer">
<meta name="CocoaVersion" content="1038.36">
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Courier}
</style>
</head>
<body>
<p class="p1"><html></p>
<p class="p1"><span class="Apple-converted-space"> </span><head></p>
<p class="p1"><span class="Apple-converted-space"> </span><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></p>
<p class="p1"><span class="Apple-converted-space"> </span></head></p>
<p class="p1"><body></p>
<p class="p1"><span class="Apple-converted-space"> </span><a>Hello World</a></p>
<p class="p1"></body></p>
<p class="p1"></html></p>
</body>
</html>
我的网站的 apache 配置是:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/Users/X/web_dump/"
ServerName web_dump
ErrorLog /usr/local/logs/web_dump.log
CustomLog /usr/local/logs/web_dump.log common
AddType text/html .html
</VirtualHost>
<Directory "/Users/X/web_dump/">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
AddType text/html .html
</Directory>
并且firebug表示返回的页面是text/html格式:
Date: Wed, 30 Nov 2011 20:10:26 GMT
Server: Apache/2.2.20 (Unix) mod_ssl/2.2.20 OpenSSL/0.9.8r DAV/2
Last-Modified: Wed, 30 Nov 2011 20:10:10 GMT
Etag: "a833cc-3ec-4b2f952a52c80"
Accept-Ranges: bytes
Content-Length: 1004
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
所以我真正愚蠢的问题是:如何将我的 HTML 文件作为 HTML 文件返回?
顺便说一句:我的 Apache 系统对于我正在开发的其他应用程序来说运行良好。
答案1
您的文本编辑器(TextEdit?"Cocoa HTML Writer"
似乎很通用,也可能是其他东西)认为您想要修改 HTML 文件的内容,但看不到底层代码。因此,它会转义您输入的所有 HTML,认为这是预期的内容。
使用不会向您隐藏底层 HTML 的内容来编辑它。
答案2
问题不在于 Web 服务器,而在于您编辑 html 文件的方式:您使用 TextEdit,以富文本模式编辑并将其保存为 html。
相反,您应该选择菜单选项格式->制作纯文本并将其保存为带有 html 扩展名的纯文本文件。