运行Hypnotoad HTTP服务器以提供XHTML页面

尼可莱

使用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,因此,如果您对PerlPerl熟悉的话,这可能会帮助它更容易桥接...

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么Hypnotoad的热部署会重新运行旧的HTTP请求?

如何运行提供特定路径的http服务器?

错误:运行服务器后找不到页面(404)

http服务器Websocket并提供静态页面

从npm脚本在后台运行http服务器

从Boost Asio运行HTTP服务器示例

如何使用Nginx运行Go http服务器

Indy http服务器会话无法正常运行

本地服务器提供了错误的文件。我可能正在运行2个python服务器吗?

运行Bokeh服务器

php页面在本地主机上运行但不在服务器上运行

Docker django 运行服务器,但浏览器不显示登录页面

为什么Node.js简单的HTTP服务器应用程序无法在服务器上运行?

为什么heroku不能在没有HTTP服务器的情况下运行WebSocket服务器?

在服务器上安全地运行用户提供的纯函数

在Django开发服务器运行时,如何使用unix命令?(提供图片)

如何访问在Docker容器中运行的Nginx Web服务器提供的网页

通过子进程运行bokeh服务器时,是否可以访问为其提供的args?

如何为使用Nginx运行的节点服务器提供静态资产(html)?

如何查看运行它的容器而不是清单中提供的服务器

使用--hmr运行ng服务器仍然会导致页面在更改时重新加载

无法使用Tomcat服务器在IntelliJ中运行/调试JSP页面

服务器未运行时如何在html页面上添加消息

Docker + Django,服务器正在运行,但未显示欢迎页面

Laravel页面在没有服务器的情况下运行

在 Elastic Beanstalk 与无服务器 Lambda 中运行 Razor 页面站点

如何使用tomcat服务器在Eclipse中运行jsp页面?

我正在apache2服务器上本地运行react应用程序。它提供了在此服务器上找不到的错误URL

如何获取两台服务器的cookies 1.运行应用程序(HTTP),2.运行websocket(WS)服务器?