2015-09-25 by 木易哥哥
1、www程序目录的配置:
打开wamp\bin\apache\Apache2.2.21\conf\httpd.conf
(1)、搜索关键字DocumentRoot,找到类似DocumentRoot "E:/web",修改后面的目录
(2)、搜索关键字:Directory 找到类似<Directory "E:/web">,修改后面的目录
3、本地域名及反向代理配置:
(1)开启反向代理:关键字proxy,进入conf,找到httpd.conf配置文件,在大概110行,
LoadModuleproxy_module modules/mod_proxy.so
LoadModuleproxy_ajp_modulemodules/mod_proxy_ajp.so
LoadModuleproxy_balancer_modulemodules/mod_proxy_balancer.so
LoadModuleproxy_connect_modulemodules/mod_proxy_connect.so
LoadModuleproxy_ftp_modulemodules/mod_proxy_ftp.so
LoadModuleproxy_http_modulemodules/mod_proxy_http.so
将这些注释打开,即去掉前面的#;
(2)找到Include conf/extra/httpd-vhosts.conf
将注释打开;
(3)打开httpd-vhosts.conf
将原来的virtualHost配置去掉,不然会有错,apache启动不起来。
配置示例:
<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "e:/web"
ServerName www.koudaimobile.local.com
ProxyPass /hq http://192.168.0.201/hq
ProxyPass /zxf http://192.168.0.201/zxf
ProxyPass /hqf http://192.168.0.201/hqf
ProxyPass /tg http://192.168.0.201/tg
ProxyPass /sys http://192.168.0.201/sys
ProxyPass /im http://192.168.0.201/im
ProxyPass /img http://192.168.0.201/img
ProxyPass /trade http://test.kdstock.cn/trade
#ProxyPassReverse /test.php /test2.php
#ErrorLog "logs/dummy-host2.example.com-error.log"
#CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
(4)配置hosts(C:\Windows\System32\drivers\etc)
处理权限问题经验:把hosts拷贝至桌面修改,修改后去掉后缀,再覆盖到原来的位置。
把www.koudaimobile.local.com指向到127.0.0.1
3、开启支持shtml的SSI
http://jingyan.baidu.com/article/4ae03de323cc903eff9e6bea.html
以下为复制的该页面的内容。
学过动态网页,如asp、php的人知道如何去引用网站头部、底部文件包含。例如在php中有一个方法:include();这个方法能在当前文档中引入外部文件,从而方便网站的开发和维护,然而html静态文件的包含却鲜为人知,我们平时看到很多大型的网站都使用了.shtml的文件类型,其实它们是启用了ssi的功能,因此实现了shtml等静态页的包含。
下面我讲解一下Apache下ssi配置方法。
- 加载ssi模块。因为ssi是apache中的一个模块服务项,要使用ssi功能,我们首先要对ssi模块进行加载,打开apache的配置文件httpd.conf。找到 LoadModule ssl_module modules/mod_ssl.so 命令,因该服务未被默认加载,所以只需取消该命令前的注释符#即可开启。如图所示:
- 添加你需要的文件类型,因为使用ssi技术的默认文件名为.shtml,所以我们需要在配置文件中对.shtml后缀名进行设置,并按自己的需求设置需要对ssi技术进行解析的文件类型设置。同样在httpd.conf文件中找到如下两行代码:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
如果代码前有注释,请把注释去掉,还可以添加.html的文件类型,如图:
- 在httpd.conf文件中查找“Options Indexes FollowSymLinks” 在后面加上INCLUDES,需要注意的是,ssi可以利用shell来执行命令,因此这个功能是有危险的,它会执行任何包含在exec标记中的命令,如果你的用户有权限修改你的网页内容,建议把该功能关闭。当然你还可以加上IncludesNOEXEC参数,来关闭exec功能,同时又保留SSI。此时改为: Options Indexes FollowSymLinks INCLUDES IncludesNOEXEC
- 重启apache,即可使用shtml文件包含了。对于个别apache环境还不能使用.html的情况,你可尝试在目录配置中添加以下代码基本能开启:
AddType text/html .ssi
Options Includes
AddOutputFilterByType INCLUDES;DEFLATE text/html
- 文件包含引用的方法:
引用绝对路径的文件:<!--#include file="e:/w2/top.shtml"-->
引用当前虚拟目录文件:<!--#include virtual="include/top.html"-->
路径要写正确,路径不正确会报错:[an error occurred while processing this directive]
注:<!--和#之间不能有空格