使用hypnotoad提供点xhtml页面时,我遇到了一些问题。
xhtml文件以这种方式启动,因此也许当我进入本地主机端口8080时,我可能没有声明允许hypnotoadad将其显示为文本以外的内容。
<?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">
<head>
<meta http-equiv="Content-Type" content="http://www.w3.org/1999/xhtml; charset=utf-8" />
<title>
Index
</title>
<link rel="stylesheet" href="book.css" type="text/css" />
当我只在本地打开页面而中间没有服务器时,它在Firefox中可以正常显示,但是当我创建一个myapp.pl并以public的名称将其粘贴在子文件夹中时,它将用作页面内容,但仅作为文本显示在页面上端口8080。
任何帮助,将不胜感激。
我对Perl不太熟悉,虽然您可以尝试以下方法,但当然不是它的标题...
require HTTP::Headers;
$h = HTTP::Headers->new;
$h->header('Content-Type' => 'application/xhtml+xml');
当然,您需要通过客户端的accept标头检查客户端是否支持XHTML。请记住,Microsoft认为IE7确实支持。这与事实相去甚远。
我在我的站点上将XHTML用作application / xhtml + xml并使用PHP,因此,如果您对Perl和Perl熟悉的话,这可能会帮助它更容易桥接...
if (isset($_SERVER['HTTP_ACCEPT']))
{
if (stristr($_SERVER['HTTP_ACCEPT'],'application/xhtml+xml'))
{
header('Content-Type: application/xhtml+xml');
}
else {header('Content-Type: text/html');}
}
我不确定include('file.pl');
您想要好的结构,但Perl对PHP的理解是什么。
_0_header_0 //可以说的,您的主要头文件开始了包含树。
_0_header_1_base //确定两个本地/实时服务器的相对和绝对路径,以便EXACT相同的代码在本地/实时服务器上运行。
_0_header_2_sql //连接到数据库以获取内容。
_0_header_3_sessions //此时应处理会话,例如已登录的成员/ admins / etc。
_0_header_4_classes //在此处建立您的编程类。
_1_functions_date // //站点范围内的功能,例如将Unix Epoch转换为人类可读的日期,其他功能等。
_2_includes_01_xml //至此,您将无法再发送标头。
_2_includes_02_dtd
_2_includes_03_head
_2_includes_04_title
_2_includes_05_meta_0
_2_includes_05_meta_01_description
_2_includes_05_meta_02_keywords
_2_includes_05_meta_03_language
_2_includes_05_meta_04_robots
_2_includes_05_meta_05_redirect
_2_includes_06_base //使用base元素设置默认的基本路径。
_2_includes_07_css
_2_includes_08_js //切勿将JavaScript放在body元素中,否则会造成混乱。
_2_includes_09_body
...
我也不熟悉Hypnotoad HTTP服务器(尽管我获得了Futurama参考)。理想情况下,您想要执行类似于Apache重写的操作,并让内容由主处理程序提供服务。从本质上讲,另一个目录中的文件有时会提供内容...对于该目录而言,实际上没有目录,至少对于自定义页面而言。建立模块(例如博客,电子邮件,论坛)后,只需将主处理程序文件移至该模块即可。
这是一种通用方法,尽管我打算花更多时间作为指导。我当时正在做一个包含大量包含的单个文件,并且由于诸如无法快速复制文件夹并说该站点已被备份之类的原因而对数据库之类的文件感到不舒服。只要您有一些好的备份系统,就可以构建新版本之类的方法,然后尝试将其分解为较小的版本。如果您确实有完全不同的方法代码,那么可以发布几个月到一年或一年的版本是可以的。只是一遍又一遍地不断完善它,并努力追求更高的标准(例如,使用Firefox将XHTML用作application / xhtml + xml(因为其他浏览器不会隐藏该页面,并且会给您带来错误)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句