服务XHTML和自我

我正在尝试遵循xhtml 1.0严格标准,因为我正在创建我的网站。 现在,validator.w3.org按照XHTML 1.0严格标准验证我的文档是有效的。 这是一个代码示例:

<div style="color:#f00"><div style="color:#00f" />Text should be red and not blue</div>

不幸的是,Firefox,Chrome和Internet Explorer不正确地解析文档:它们似乎都忽略了我自闭标签的结束语(主要

  • 和其他一些标签),从而导致网站显示错误,文本呈蓝色。 如果我更换
    标签
    ,一切都很美好。 我读过它,并根据xml文档,包括xhtml,可以自我封闭

    以下是文档附带的重要标题信息:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
            <head>
                <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
    

    Apache2本身仍然发送Content-Type文本/ html,因为我还没有想出如何覆盖.php mime类型,尽管信息在 应该推翻这种方式。

    我如何使用自闭标签如

    他们被普通浏览器正确解析?


    XHTML是使用XML的HTML,并且HTML不像您展示的那样具有自我关闭标签。 这适用于XHTML,但不适用于HTML,到目前为止,您并不是作为application / xml + xhtml服务的。

    内容类型元标记不会影响服务器如何为页面提供服务,并且仅用于脱机使用。 所以你必须把它设置在服务器上或者用PHP来设置,就你而言。


    用php发送:

    <?php
    header('Content-Type: application/xhtml+xml;');
    ?>
    

    这就是你用PHP重写标准头文件的方法。 你必须小心,因为header()只在没有输出被发送时才起作用。 这意味着你不能在<?php部分之前放置任何东西,头文件将不起作用,因为你的服务器已经发送了头文件和任何内容。

    链接地址: http://www.djcxy.com/p/18983.html

    上一篇: Serving XHTML and self

    下一篇: regex for php to find all self