分类: 网络与安全
2009-03-18 16:23:58
下面是Apache httpd.conf的配置内容:
1、当访问的URL只输入到模块的根目录(例:),在不输入index.do时,能正常显示index.do的内容:
需要加载rewrite_module,在httpd.conf文件中添加下面两行(如果是被注释掉的,把注释去掉即可,需要保证在Apache_home/modules目录下有对应的.so文件)
LoadModule
rewrite_module modules/mod_rewrite.so
2、在虚拟机的内部配置rewrite rule:
DocumentRoot D:\web
ServerName
ErrorLog logs/dev-error.log
CustomLog logs/dev-access.log common
##### 以下是发生错误时显示相对应的错误页面
ErrorDocument 403 /common/error/403.html
ErrorDocument 404 /common/error/404.html
ErrorDocument 405 /common/error/405.html
ErrorDocument 500 /common/error/500.html
ErrorDocument 503 /common/error/503.html
#############################################
RewriteEngine on
### 当URL指定在demo的根目录时,显示index.do的内容。[PT]选项是不会改变所访问的URL
rewriterule .*/(.*)/$ /$1/index.do [PT]
### 如果直接访问jsp页面(如:http:///demo/main/head.jsp),则直接转到错误页面
rewriterule .*/.*\.jsp$ /errorHandle.do [PT]
#防止URL注入代码入侵
RewriteCond "%{QUERY_STRING}" "^(declare|char|set|cast|convert|delete|drop|exec|insert|meta|script|select|truncate|update|cbfunc)=.*" [NC]
#如果符合上面的条件,则重定向到/errorHandle.do
rewriterule /* /errorHandle.do [PT]
#rewrite log输出到文件
rewritelog logs/rewrite.log
#定义输出log的级别,0~9, 0是不输出log, 9是输出全部的log, apache文档中推荐使用2
rewriteloglevel 9
### 也可用这种方法实现重定向,但是URL会显示重定向后的URL
#RedirectMatch .*/.+/$ ./index.do
### 同上
#RedirectMatch
.*/.*\.jsp$ /errorHandle.do
参考资料: