Apche http server rewrite 规则配置笔记

这两天研究了下apacheURL重写替换规则文档。apache服务器接收了请求之后检查http头中的host域,找到对应的virtual host,执行virtual host中配置的指令。

在配置的时候有两个问题要注意:

1.如果要想把请求映射到本地系统文件(/home/user1/www/abc.htm),首先要确认目录/home/user1/www/是否允许被访问,这个配置由<Directory>指令来配置,默认配置是系统根目录“/”下所有目录都可以被访问,我在做的时候之前服务器配置只开放了某几个目录,一直请求不成功;

2.如果apache作为jboss或tomcat的前端负载均衡器,需要为重写之后的url地址做例外,否则将请求不到本地文件,url替换之后还会扔到后端去,例如

DocumentRoot /home/user1/rep
RewriteEngine on
RewriteRule ^/page.htm /pd/default.htm

若过来的请求是http://hostname:port/page.htm,经过重写规则之后请求被替换成URI: /home/user1/rep/pd/default.htm


SetEnvIf Request_URI /pd/. no-jk ##匹配到pd目录的请求不转发到后端服务器

猜你喜欢

转载自rrsongzi-gmail-com.iteye.com/blog/1235940