0

我试图这样做,但我得到了一个错误。

这是标题:

<head>
<link href="styles.css" rel="stylesheet" type="text/css">
<!--#include file="functions.asp"-->
</head>
<body>
<div>etc...

这是default.asp:

<html>
<head>
<title>jh</title>
<link href="JHstyles.css" rel="stylesheet" type="text/css">
</head>
<body>
<!--#include file="/header.asp"-->
<!--#include file="header-jh.asp"-->
<table... etc
4

1 回答 1

0

虽然我不习惯经典 ASP(这与较新的 ASP.NET 不同),但看起来您正在创建文档结构错误 - 组合文档如下所示:

<html>
<head>
<title>jh</title>
<link href="JHstyles.css" rel="stylesheet" type="text/css">
</head>
<body>
<head>
<link href="styles.css" rel="stylesheet" type="text/css">
<!--#include file="functions.asp"-->
</head>
<body>
<!-- div content etc. -->
<!--#include file="header-jh.asp"-->
<!-- Table and other content -->
</body>
</html>

请注意,head 和 document 元素出现两次,这是无效的 - 在任何文档中,head 和 body 元素应该只出现一次,head 作为 html 元素的第一个子元素。请参阅https://developer.mozilla.org/en-US/docs/HTML/Element/headhttps://developer.mozilla.org/en-US/docs/HTML/Element/body

HTML5 中有一个新的header元素,它表示 body 中的页眉内容,作为一个新的语义元素,但是 head 元素永远不应该作为 body 的子元素,或者 body 作为 head 的子元素。

在 PHP 中,我使用的最接近经典 ASP 的结构,我通常会创建一个 header.php 文件,其中包括 doctype、打开 HTML 标记和整个 head 元素 - 使用变量传递页面标题和任何自定义脚本/样式表。我不知道这种方法是否适用于经典 ASP,但从概念上讲没有理由不应该,您只需要具有更多经典 ASP 经验的人来为您提供建议。

就目前而言,您要么需要从 header.asp 文件中删除除样式表和 functions.asp 包含引用之外的所有内容,然后将 include 移到 default.asp 文件的头部内,或者启动头部元素在 default.asp 中(以允许标题)并在 header.asp 中完成它(从 default.asp 中删除关闭头和打开正文标记)。

参考 HTTP 500 错误,这是一个服务器错误,我希望它是由于服务器未能找到您包含的一个或多个文件的结果。确保在与 default.asp 相同的目录中有文件 functions.asp、header.asp 和 header-jh.asp - 我也会从 header.asp 中删除前导 / - 在其他语言中,对文件的引用是相对的到包含该文件的目录,例如 ../header.asp 如果 header.asp 文件包含在 default.asp 的父目录中,并且不使用指向网站域根目录的 HTML 相对路径。

我希望这有帮助。

于 2013-02-10T18:35:18.097 回答