让Apache支持cgi、SSI、shtml的配置方法_Linux

1.首先明确,只能够指定某个确定的目录,支持cgi,即运行该目录执行cgi程序;否则不太安全。
寻找:

复制代码 代码如下:

    #
    # "C:/Program Files/Apache Group/Apache/cgi-bin" should be changed to whatever your ScriptAliased
    # CGI directory exists, if you have that configured.
    #
    <Directory "E:/Website_Field/cgi">
        AllowOverride all
        Options all
        Order allow,deny
        Allow from all
    </Directory>

设置Directory为可以执行cgi的目录

2.
寻找:

复制代码 代码如下:

    #
    # ScriptAlias: This controls which directories contain server scripts.
    # ScriptAliases are essentially the same as Aliases, except that
    # documents in the realname directory are treated as applications and
    # run by the server when requested rather than as documents sent to the client.
    # The same rules about trailing "/" apply to ScriptAlias directives as to
    # Alias.
    #
    ScriptAlias /cgi-bin/ "E:/Website_Field/cgi"

将之后的目录改成和上面的相同。

3.
设置cgi脚本的后缀,寻找:

复制代码 代码如下:

   #
    # AddHandler allows you to map certain file extensions to "handlers",
    # actions unrelated to filetype. These can be either built into the server
    # or added with the Action command (see below)
    #
    # If you want to use server side includes, or CGI outside
    # ScriptAliased directories, uncomment the following lines.
    #
    # To use CGI scripts:
    #
    AddHandler cgi-script .cgi .pl

设置后缀如.cgi, .pl等等,任意可以想到的,但是避免使用已有的如.html, .asp, .php等

注意:设置支持cgi的目录之后,该目录下的内容及子目录的内容都可以执行。

配置Apache支持SSI,即服务器端解析的server-parsed html(shtml)
关于什么是SSI以及什么是shtml,请参看本站的其他两篇文章。
使用SSI可以实现html的动态嵌入内容,可以为一下SSI的命令,甚至是系统返回结果,以及比较常用的调用Perl程序(尤其是perl的cgi返回结果)

1. 配置Apache:
1)首先找到:

复制代码 代码如下:

   #
    # To use server-parsed HTML files
    #
    AddType text/html .shtml
    AddHandler server-parsed .shtml

去掉后两行之前的#号;
2)同时需要指定那个在哪个目录内支持这种解析,寻找:

复制代码 代码如下:

  #
    # "C:/Program Files/Apache Group/Apache/cgi-bin" should be changed to whatever your ScriptAliased
    # CGI directory exists, if you have that configured.
    #
    <Directory "E:/Website_Field/shtml">
        AllowOverride all
        Options all
        Order allow,deny
        Allow from all
    </Directory>

从Directory开始进行修改:
首先指定到自己的目录,这里是"E:/Website_Field/shtml";
然后设置各个选项如上:

复制代码 代码如下:

AllowOverride all
Options all
Order allow,deny
Allow from all
 

完后重启Apache应该就可以了。

2. 关于Apache支持的SSI指令,可以参考如下介绍:
http://www.jb51.net/tools/onlinetools/apache-chs/howto/ssi.html

3. 一个使用SSI的shtml页面实例:
1)、index.shtml

复制代码 代码如下:

<html>
<head>
   <title>shtml</title>
</head>
<body>
<!--#config timefmt="%D" -->
  This file last modified <!--#echo var="LAST_MODIFIED" --><br />
  <!--#config timefmt="%A %B %d, %Y" -->
  Today is <!--#echo var="DATE_LOCAL" --><br />
 <!--#include virtual="embed.html" --><br />
 <!--#exec cmd="test.pl" --><br />
 <!--#exec cmd="dir" --><br />
</body>
</html>

2)、embed.html

复制代码 代码如下:

<html>
<head>
    <title>embed html</title>
</head>
<body>
This is the content from embed.html
</body>
</html>

3)、test.pl

复制代码 代码如下:

#!C:\perl\bin\perl -w
use strict;

sub print_header()
{
    print "This is Header function! ";  
}

sub print_footer()
{
    print "This is Footer function! ";  
}

print_header();
print_footer();

总结:
设置Apache支持cgi和支持SSI的时候有个相同的部分,设置目录Directory,而且需要设置为相同的。
因此,如果单使用ssi的话,可以按照ssi的设置进行配置,将shtml等放置到设置的目录下;
如果已设置Apache支持cgi,只需要打开ssi,同时将shtml等文件放置到cgi的目录中即可。

时间: 2024-10-26 01:36:52

让Apache支持cgi、SSI、shtml的配置方法_Linux的相关文章

Apache同时支持PHP和Python的配置方法_Linux

最近开始学着用Python+Tornado+MongoDB写网站,兴起写了一个博客,觉得很有意思所以想挂在服务器上发布出去找大家一起玩.这个时候就遇到了问题. 服务器是windows系统,安装的是Apache,所以需要配置Apache,使Apache同时支持PHP和Python. 废话少说,提供有效方案一个,照做即可: 1. 修改 httpd.conf 文件 将下列几个Module前的注释符 # 去掉 LoadModule proxy_module modules/mod_proxy.so Lo

让Apache支持Rewrite静态页面重写的方法_Linux

首先确定您使用的 Apache 版本,及是否加载了 mod_rewrite 模块. Apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码: LoadModule rewrite_module libexec/mod_rewrite.so AddModule mod_rewrite.c Apache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码: LoadModule rewrite_module modules/mod_rew

apache的多站点虚拟主机配置方法_Linux

例:主机IP是:192.168.1.1 你的主机上有三个域名: www.a.com    网页文件放在E:\web\www\1 www.b.com    网页文件放在E:\web\www\2 www.c.com    网页文件放在E:\web\www\3 在apache的httpd.conf中加入 #设置不同的域名到不同的目录 NameVirtualHost 192.168.1.1 <VirtualHost 192.168.1.1>   DocumentRoot "E:\web\ww

Apache 支持CGI程序和SSI程序的设置方法_Linux

由于Apache具有相当高的可移植性,它支持超过30种操作系统,包括Unix.Windows 及Darwin等系统,所以目前在网络上已注册的网域里大部份是使用Apache网页服务器.目前ApacheSoftware Foundation 正致力于发展现在已进入alpha测试阶段的Apache2.0.在这里,网页教学网和大家探讨如何修改服务器选项让服务器能提供简单的动态网页内容,也就是支持CGI程序及 Server-Side Include(SSI)程序. 1.准备工作 首先,我假设你已经安装好A

Apache本地二级域名配置方法_Linux

本文讲述了Apache本地二级域名配置方法.分享给大家供大家参考,具体如下: 我们在本地调试web程序时,常有很多不同的项目.不同的项目,我们希望使用不同的文件夹和不同的域名. 比如今天我正在建设一个鲜花网站,可是有个客户临时要做一个简单的卖眼镜的网站,两个网站在电脑上放在不同的目录下,而且要使用两个不同的域名来访问.一个是flower.domain.com,一个是glass.domain.com. 通常情况下,我们应该这么做: 1.在本地hosts文件中,将flower.domain.com指

apache正常访问mht类型文件的配置方法_Linux

一.mht文件简介 MHTML文件又称为聚合HTML文档.Web档案或单一文件网页.单个文件网页可将网站的所有元素(包括文本和图形)都保存到单个文件中.这种封装使您可将整个网站发布为单个内嵌MIME (MIME:通过 Internet 连接传递多媒体资源的一列标准.MIME类型通知程序对象所包含的内容(如图形.声音或视频)的聚合HTML文档(MHTML)文件,或将整个网站作为一个电子邮件或附件发送.Internet Explorer 4.0及更高版本支持此格式. 二.apache支持mht文件的

apache开启.htaccess及.htaccess的使用方法_Linux

今天本地调试PHP程序,用到了.htaccess,而默认配置里面开启.htaccess,在网上找到了开启.htaccess的可行方法,供朋友们借鉴.(开启的我他的方法不行,查找了一下AllowOverride None全部的都给换成AllowOverride All就了,原因不明,O(∩_∩)O~ 记得修改完httpd.conf以后一定要重启下apache才的哦~ ) 1 . 如何让的本地APACHE器.htaccess 如何让的本地APACHE器".htaccess"呢?其实只要简朴

apache负载均衡的安装和实现方法_Linux

其实无论是分布式,数据缓存,还是负载均衡,无非就是改善网站的性能瓶颈,在网站源码不做优化的情况下,负载均衡可以说是最直接的手段了。其实抛开这个名词,放开了说,就是希望用户能够分流,也就是说把所有用户的访问压力分散到多台服务器上,也可以分散到多个tomcat里,如果一台服务器装多个tomcat,那么即使是负载均衡,性能也提高不了太多,不过可以提高稳定性,即容错性。当其中一个主tomcat当掉,其他的tomcat也可以补上,因为tomcat之间实现了Session共享。待tomcat服务器修复后再次

Ubuntu下Telnet服务器的配置方法_Linux

1. 首先介绍linux中的守护进程 在Linux系统中有一个特殊的守护进程inetd(InterNET services Daemon),它用于Internet标准服务,通常在系统启动时启动.通过命令行可以给出inetd的配置文件,该配置文件列出了inetd所提供的服务清单.如果没有在命令行给出配置文件,那么inetd将从文件/etc/inetd.conf中读取它的配置信息.inetd的主要任务是为那些没有在系统初始化时启动的服务器进程监听请求,它在同配置文件中列出的服务相关联的TCP或UDP