欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    网站包含功能Apache SSI 教程.docx

    • 资源ID:13087138       资源大小:157.89KB        全文页数:24页
    • 资源格式: DOCX        下载积分:6金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要6金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    网站包含功能Apache SSI 教程.docx

    1、网站包含功能Apache SSI 教程Apache SSI 教程本文参照的系统环境: Windows XP SP2 Apache HTTP Server v2.0.55 (Win32)什么是 SSI?SSI(Server Side Includes),是嵌套在 HTML 网页中的指示语句,由后台服务器进行代码的解释计算。使用 SSI 可以动态的创建一部分网页内容而不需要编写复杂的 JSP/ASP/PHP 等程序。SSI 是如此的小巧以至于不应算作一门语言,因为他远没有JSP/ASP/PHP 等程序那么复杂,只有一些极其有限的语法规则。但就算是只有这有限的一点语法规则,只要开动起你创新的思维,仍

    2、然可以“小才大用”,为你带来效率的提高、体力的节省和脑力的放松 很多 HTTP Server 程序都支持 SSI,可能语法稍有不同,比如: IIS/Novell HTTP Server 等等,大同小异,本文要说明的是 Apache 2.0 的 SSI。闲话少说,我想告诉大家的是,这是一篇实践经验总结性的文章,后文中的示例解决方案都是来自实际的网站应用中。其中的一些想法和概念会给你带来提示性的参考或者直接拿为所用。下图展示了 SSI 被服务器解释,生成最终的纯 HTML 网页后,再发送给访问者浏览的过程:图 1系统环境安装这不是一篇教你如何配置 Apache 的文章,但为了在你在本地系统环境测试

    3、的方便,还是简单的说明一下。首先可以到 http:/www.apache.org/ 网站去下载一份最新的 Apache 安装文件,安装之后是否要做其他设置请自行参考相关资料,这里只说明如何开启 SSI 支持的步骤。我在本地创建了一个 bnn 的文件夹,设成虚拟目录,然后就可以通过浏览器访问:http:/localhost/bnn/打开 Apache 的配置文件,例如:C:Program FilesApache GroupApache2confhttpd.conf然后加入类似下面的这段代码(主要是中间的三行):黑体字部分是文件夹路径。 AddType text/html .ssi Options

    4、 Includes AddOutputFilterByType INCLUDES;DEFLATE text/htmlOK,“Restart”Apache Server (如果右下角系统栏中有 apache 小图标,则左键点击选择 Restart; 也可以在“开始 - 程序”菜单的 Apache 项下面找到 Restart 命令; 还可以直接在安装目录运行C:Program FilesApache GroupApache2bin ApacheMonitor.exe 后点击 Restart 按钮)。测试 SSI 是否已经打开,在 bnn 文件夹下面新建一个 index.html 文件,打开后在里面

    5、写上:保存关闭,然后打开浏览器测试:http:/localhost/bnn/如果正确的显示出类似“Wednesday, 01-Mar-2006 02:03:06 China Standard Time”这样的文字就表示 SSI 开启成功!“呼”深呼一口气,搞掂,收工!开始 SSI参考资源在正式开始之前,先介绍两个官方参考文档:Apache Tutorial: Introduction to Server Side Includeshttp:/httpd.apache.org/docs/2.0/howto/ssi.htmlApache Module mod_includehttp:/httpd.

    6、apache.org/docs/2.0/mod/mod_include.html这些文档在 Apache 的安装文件夹中可以找到,然后通过 HTTP 进行访问,并提供多国语言版本,不过没有中文(已经习惯了,谁让CN常常是被忽视的小弱国呢,不过似乎网上流传了英雄好汉们翻译过的部分内容)。在官方网站上可以找到最新版的文档(包括更新测试版的文档):http:/httpd.apache.org/docs-project/SSI 语法SSI 指令的语法格式:举几个实际例子:http:/SSI 语句是直接嵌套在 HTML 页面中的,可以放置在任意的位置。所以 SSI 语句前后采用 HTML 注释的写法,这

    7、样一旦服务器关闭了对 SSI 的支持,此时访问页面的话,也不会直接在网页上显示出不必要的代码。参见语法格式图示:图 2注意:1. 在结尾符号“-”的前面需要有一个空格,是不能丢掉的,曾经在一个复杂的页面中遇到一个问题是因为没有加上那个空格引起的,因为很多时候容易忽略到这个小问题,而往往最难纠错的就是这些小问题引起。2. SSI 不区分大小写,包括元素名称、变量名称,大写和小写都是允许的。良好的书写格式可以帮助你更好的调试代码,清晰易查找,特别是在写非常复杂的 SSI 的时候,因为没有软件工具可以自动对 SSI 语句进行排版(因为大多数工具会把 SSI 语句当作普通的 HTML 注释处理,Dre

    8、amweaver 只能识别 include 元素的 SSI 指令语句),所以就需要在书写的时候自己整理代码,养成良好习惯,注意大小写和上下文的缩进关系等。书写格式的约定(推荐格式,并非强制): 元素和属性使用小写字母; 环境变量都使用大写字母; 合理的缩进,在使用 if 语句嵌套的时候推荐使用 1 tab(占 4 space) 缩进,以变更清晰的显示层次关系。SSI 使用对于 SSI 具体的使用是否有些不清楚呢?下面列出一份完整的示例代码:Learning Apache SSILeft NavigationRight Navigation This is a href=http:/Learni

    9、ng Apache SSI testing page! Hello SSI Today is: 说明:1. SSI 可以插入在网页的任意地方;2. 属性值要合理使用双引号和单引号,例如“”这个位置,大多数情况下, SERVER_NAME 使用双引号不会出现问题,但在一些复杂的网页里面仍然会造成歧义,Apache 无法识别正确的引号配对匹配。变量和数据类型SSI 中的变量分为自定义变量和环境变量。自定义变量使用 set 命令来创建:说明:var 属性值就是变量名称;value 的属性值就是变量值。上面的语句表示,创建了一个 “Protocol”的变量,变量所代表的值是 “http”。环境变量是系

    10、统已经存在的一些默认的变量和变量值,可以直接使用。例如:说明: DATE_LOCAL 就是一个环境变量,用来显示当前本地时间。类似的环境变量还有很多,比如常用HTTP_HOST、SERVER_NAME、DOCUMENT_URI、DOCUMENT_NAME 等等。想知道到底有多少个可以用的环境变量么?很简单的方法:说明:printenv 命令就是这个作用,将所有的环境变量和变量当前值列表出来。我们把上面的一行代码放入到任意一个页面中,然后通过浏览器访问这个页面:图 3看到的很乱页面,查看源代码吧:哦,原来是一个纯文本格式的,每行第一个等号前面的是环境变量名称,后面就是他所代表的字符串值。HTTP

    11、_ACCEPT=*/*HTTP_ACCEPT_LANGUAGE=en-us,zh-cn;q=0.5HTTP_USER_AGENT=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)HTTP_HOST=localhostHTTP_CONNECTION=Keep-AliveHTTP_COOKIE=dbx-postmeta=grabit=2+,5+,6-,1-,4-,3-,0-&advancedstuff=0-,1-,2-PATH=C:Program Fi

    12、lesThinkPadUtilities;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:Program FilesIBMInfoprint Select;C:Program FilesATI TechnologiesATI Control Panel;C:Program FilesQuickTimeQTSystem;C:Program FilesThinkPadConnectUtilitiesSystemRoot=C:WINDOWSCOMSPEC=C:WINDOWSsystem32cmd.exePATHEXT=.COM;.EXE;.BA

    13、T;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSHWINDIR=C:WINDOWSSERVER_SIGNATURE=<address>Apache/2.0.55 (Win32) PHP/5.1.1 Server at localhost Port 80</address>SERVER_SOFTWARE=Apache/2.0.55 (Win32) PHP/5.1.1SERVER_NAME=localhostSERVER_ADDR=127.0.0.1SERVER_PORT=80REMOTE_ADDR=127.0.0.1DOCUMENT_ROOT=D:/W

    14、orks/Jan-BoySERVER_ADMIN=adminSCRIPT_FILENAME=D:/Works/Jan-Boy/bnn/printenv.htmlREMOTE_PORT=2529GATEWAY_INTERFACE=CGI/1.1SERVER_PROTOCOL=HTTP/1.0REQUEST_METHOD=GETQUERY_STRING=REQUEST_URI=/bnn/printenv.htmlSCRIPT_NAME=/bnn/printenv.htmlDATE_LOCAL=Thursday, 02-Mar-2006 11:15:45 China Standard TimeDAT

    15、E_GMT=Thursday, 02-Mar-2006 03:15:45 GMTLAST_MODIFIED=Wednesday, 01-Mar-2006 10:02:13 China Standard TimeDOCUMENT_URI=/bnn/printenv.htmlUSER_NAME=<unknown>DOCUMENT_NAME=printenv.html数据类型:SSI 中只有一种数据类型“字符串”。例如:说明:上面的语句表示 MyFirstVar 变量代表的值是字符串 “120”,而不是数字 120;MySecondVar 等于字符串“20”。这样,如果对这两个变量进行大

    16、小比较,MySecondVar 要大于 MyFirstVar,因为字符串之间的大小比较是从左到右逐个字符比较,每个字符比较按照字符在 ASCII 码的先后顺序,后面的大于前面的;例如上面的例子,“2”大于“1”所以字符串“20”大于“120”。SSI 常用元素SSI 的元素并不多,下面列出常用的元素和属性,其它请查看官方参考。echo作用:将变量值写入 HTML 代码中。属性: var 值是变量名称示例:http:/说明:1. echo 元素允许同时有多个 var 属性,这样在输出的时候会将这两部分字符串连起来。2. var 后面的属性值就是变量名称。include作用:将另一个文件的内容写入

    17、语句所在的页面。include 是 SSI 中最常用的命令,也是 SSI 主要功能的体现。属性: virtual 被包含文件的路径示例:说明:1. 值不不可以包含主机名,只能是一个路径;2. 路径可以是相对当前文件(SSI 语句所在的页面)或者从“/”开始,相对网站根目录的路径;3. 路径后允许加参数,比如:“/cgi-bin/ap/optin_cn.pl?btn=send&fax=yes”,这句表示:/cgi-bin/ap/optin_cn.pl 是具体的 perl 脚本执行文件,?btn=send&fax=yes 是参数,参数是从在文件名后接一个问号开始,后面如果有多个参数,每个参数之间使

    18、用 & 号连接。示例语句包括了 2个参数btn=send 和fax=yes。参数传递给脚本文件执行后生成 HTML 代码,再返回到 SSI 语句所在的页面。4. SSI 是允许嵌套的;例如,假设有三个文件,文件1 include 文件2,文件2中 include 文件3。set作用:设置(创建/修改)变量和变量值属性: var 变量名 value 变量值示例:说明:1. 变量值都是字符串类型2. 如果要给一个变量值设为“”IBM”(注意,IBM 前后有英文字符的双引号),有两种方法:方法一:方法二:引号是特殊字符,如果直接写在代码中会出现歧异,比如写成 后,服务器并不能判断到底哪两个双引号是配

    19、对的匹配。所以就要避免这种写法;方法一,外面用单引号,里面用双引号,这样引号配对问题就解决了,很方便。方法二,使用了转义字符来避免这个问题。反斜杠()是转义字符,将特殊字符转换成原本的字符含义。3. 如何让一个变量值等于另一个变量值?请看示例:结果是,MyVar2 和 MyVar1 的变量值相同;就是说要在 SSI 语句中引用一个变量,使用 $ 符号后面加上变量名。4. 继续上个例子,假设有 3个变量,第三个变量值是前两个变量值相连:参看下面的例子,很清晰,为了正确表示一个变量名,我们使用大括号把变量名称括起来,例如:$MyVar1 。5. 仍然继续这个例子,要在页面上显示 $IBM 该如何写

    20、呢?使用转义字符“”反斜杠。6. 另一个把变量写在 SSI 语句中的例子:fsize 和flastmod作用:显示指定文件的大小(fsize)和指定文件的最后修改时间(flastmod)属性: virtual 与元素 include 中的属性相同,不同的是: 结果返回的是这个 Perl 脚本文件的大小,而不是运行这段 Perl 脚本的结果。SSI 配置元素config作用:配置一些 SSI 运行结果;错误信息、文件大小格式、时间格式。属性: errmsg 当 SSI 语句运行出错时显示的信息。例如: sizefmt 显示以何种方式显示文件大小。这个属性有两个值:bytes 和 abbrev。例

    21、如: bytes:按照bytes 大小显示; abbrev:按照 bytes、Kb 或者 Mb 动态显示。 timefmt 显示时间的格式。属性值的参数同 C 标准库中的strftime(3) 相同;参看其他的时间格式符:http:/www.opengroup.org/onlinepubs/007908799/xsh/strftime.html这里有篇中文说明:例如:示例:meta name=DC.DATE scheme=iso8610 content=说明:上例中是个实际的例子,这样在每次编辑页面后,不再需要手动更改 DC.DATE 的 meta 了。其他配置SSI 语句中的 前置符 和 后

    22、置符, 错误提示,时间显示格式等等 也可以在 Apache 的配置文件中进行配置。具体的说明参看:http:/httpd.apache.org/docs/2.0/mod/mod_include.html文中Directives 部分。流控制元素条件语句SSI 中只有条件语句一种结构,而且结构很简单。基本的控制元素:BlablablaBlablabla Blablabla说明: 如果(if 行)expr 属性中的条件成立(为真)则执行下面语句部分(if 和 elif 之间,可以是 HTML 代码,也可以是其他 任意 SSI 语句)。否则继续 elif 中 expr 条件判断,同样。如果以上 2个

    23、条件均不成立则执行 else 和 endif 之间的部分代码。 elif 行可以有若干行;也可以没有 elif。 else 行根据实际情况也可以没有。 第一行和最后一行必须存在。 if 语句可以嵌套,你可以在 if 块中再加入一个 if 块语句。操作符上例中 test_condition 可以是以下情况: string 如果只是非空字符,则返回 真,条件成立。例如: 表示条件成立; 空字符,返回 假,条件不成立。判断一个变量是否为空字符串的一种写法: string1 = string2 两个字符串相同则为真,不同则为假。string1 != string2 两个字符串不同则为真,相同则为假。例如:如果变量 $DOCUMENT_URI 值等于 /bnn/index.html 则为真,否则不成立。string2 也可以是正则表达式,将在下一节讲述。


    注意事项

    本文(网站包含功能Apache SSI 教程.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开