Apache 将 html 文件作为文本提供

Apache 将 html 文件作为文本提供

我正在我的 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">&lt;html&gt;</p>
<p class="p1"><span class="Apple-converted-space">  </span>&lt;head&gt;</p>
<p class="p1"><span class="Apple-converted-space">  </span>&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;</p>
<p class="p1"><span class="Apple-converted-space">  </span>&lt;/head&gt;</p>
<p class="p1">&lt;body&gt;</p>
<p class="p1"><span class="Apple-converted-space">    </span>&lt;a&gt;Hello World&lt;/a&gt;</p>

<p class="p1">&lt;/body&gt;</p>
<p class="p1">&lt;/html&gt;</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。

相反,您应该选择菜单选项格式->制作纯文本并将其保存为带有 h​​tml 扩展名的纯文本文件。

相关内容