今天的support内容需要测试Apache 页面重定向,简单的说就是配置Apache让它自动把旧的URL地址转换成新的URL输出。
- 首先,apache重定向功能需要调用mod_rewrite模块,由于apache2.2的modules文件夹中带有该模块,所以我们只需开启http.conf文件中的LoadModule rewrite_module modules/mod_rewrite.so(去掉前面的‘#’就可以了)。
Apache模块 mod_rewrite说明
说明: | 提供了一个基于规则的实时转向URL请求的引擎 |
---|---|
状态: | Extension |
模块名: | rewrite_module |
源文件: | mod_rewrite.c |
兼容性: | 包含在Apache 1.3及其更新版本中 |
- 修改http.conf文件,追加以下代码:
#开启Rewrite模块
RewriteEngine on
#设置Log的输出位置()
RewriteLog "F:/local/apache2.2/logs/rewrite.log"
#举例:替换page.jsp?id= 30800为新地址http://localhost/webadmin/index.jsp
RewriteCond %{QUERY_STRING} ^id=30800 $
RewriteRule ^/page.jsp$ http://localhost/webadmin/index.jsp [L]
RewriteEngine on
#设置Log的输出位置()
RewriteLog "F:/local/apache2.2/logs/rewrite.log"
#举例:替换page.jsp?id= 30800为新地址http://localhost/webadmin/index.jsp
RewriteCond %{QUERY_STRING} ^id=30800 $
RewriteRule ^/page.jsp$ http://localhost/webadmin/index.jsp [L]
常用指令:
- RewriteBase
语法:RewriteBase URL-path
RewriteBase指令显式地设置了目录级重写的基准URL。默认值是,RewriteBase
physical-directory-path在对一个新的URL进行替换时,此模块必须把这个URL重新注入到服务器处理中。 为此,它必须知道其对应的URL前缀或者说URL基准。通常,此前缀就是对应的文件路径。 但是,大多数网站URL不是直接对应于其物理文件路径的,因而一般不能做这样的假定! 所以在这种情况下,就必须用RewriteBase
指令来指定正确的URL前缀。
