在网上找了N多的配置说明,终于配起来了,
不用url rewrite都一切正常,
但是当我配了url rewrite后,如:
RewriteRule ^/a.html$ /ps/index.action?hid=a [PT]
RewriteRule ^/c.htm$ /ps/index.action?hid=a [PT]
(我项目的根目录下有a.html,但不存在c.html)
在地址栏打入localhost/a.html,直接显示a.html
打入localhost/c.html,提示找不到c.html页面
我看了RewriteLog,
127.0.0.1 - - [20/Jul/2007:14:44:22 +0800] [a.duoduo.cn/sid#77e200][rid#9ab020/initial] (2) rewrite '/c.htm' -> '/ps/index.action?hid=a'
127.0.0.1 - - [20/Jul/2007:14:44:22 +0800] [a.duoduo.cn/sid#77e200][rid#9ab020/initial] (3) split uri=/ps/index.action?hid=a -> uri=/ps/index.action, args=hid=a
127.0.0.1 - - [20/Jul/2007:14:44:22 +0800] [a.duoduo.cn/sid#77e200][rid#9ab020/initial] (2) forcing '/ps/index.action' to get passed through to next API URI-to-filename handler
按道理都已经转过去了,为什么tomcat还是去拿地址栏里的地址去显示
如果我配置改成
RewriteRule ^/a.html$ /ps/index.action?hid=a [R]
RewriteRule ^/c.htm$ /ps/index.action?hid=a [R]
一切都是正常,但是这样只是起到重定向的效果,地址栏也变了,
<VirtualHost *:80>
ServerAdmin admin@abc.cn
DocumentRoot E:/Web
#您的站点项目所在路径,应与tomcat中的目录设置相同
ServerName www.abc.cn
ServerAlias *.abc.cn
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
RewriteLog logs/rewrite.log
RewriteLogLevel 3
JkMount /*.jsp ajp13
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.action ajp13
#让Apache支持对.do传送,用以Tomcat解析
<Directory />
Options FollowSymLinks
AllowOverride All
Allow from all
</Directory>
RewriteEngine On
RewriteRule ^/c\.html$ /a.html [PT]
RewriteRule ^/e\.html$ /a.jsp [PT]
RewriteRule ^/f\.html$ /index.action [PT]
</VirtualHost>
RewriteRule中,第一句能正常执行,第二,三句都出现tomcat的404错误,
后来经过反复测试,发现原因是
JkMount /*.jsp ajp13
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.action ajp13
我在这里加入一条
JkMount /*.htm ajp13
RewriteRule ^/g\.html$ /a.htm [PT]
a.htm文件是存在的,然后访问www.abc.com/g.html,还是提示tomcat的404错误,但是我直接通过www.abc.com/a.htm或www.abc.com/a.jsp都是正常的,
是不是我的重写错误,导致传入tomcat的地址是错误的?
但通过rewrite.log,发现我取的地址都是对的
127.0.0.1 - - [20/Jul/2007:14:44:22 +0800] [a.duoduo.cn/sid#77e200][rid#9ab020/initial] (2) forcing '/a.htm' to get passed through to next API URI-to-filename handler
分享到:
相关推荐
NULL 博文链接:https://cygogo.iteye.com/blog/903344
### Apache+Tomcat配置说明 #### 一、安装与配置Apache与Tomcat 在搭建Apache与Tomcat联合工作环境之前,首先需要确保Apache服务器已经安装完成,并且版本为2.2。此外,还需要安装FTP服务器以及获取mod_jk.so模块...
这个“linux+apache+tomcat+java配置文件.rar”压缩包很可能是为了帮助用户搭建和配置这样一个环境而准备的。下面,我们将详细探讨这些组件以及它们之间的配置要点。 1. Linux:作为开源的操作系统,Linux是许多...
它支持多种模块,如 `mod_rewrite`(URL 重写)和 `mod_security`(安全防护)。 2. **Tomcat 7**:Tomcat 是一个开源的 Java Servlet 容器,主要用于运行 Java Web 应用程序。Tomcat 7 是第七个主要版本,支持 ...
1. **Apache基础**:讲解Apache服务器的基本配置和管理,包括虚拟主机的设置、URL重写规则的使用(如通过mod_rewrite模块)、模块的加载和配置,以及安全性设置,如SSL/TLS加密。 2. **Tomcat基础**:介绍Tomcat的...
### Apache+Tomcat集群、优化配置 #### 一、文档目的 本文档旨在提供详细的步骤指导,帮助读者在本地环境中成功搭建Apache与Tomcat的服务集群,并进行必要的性能优化。通过这种方式,可以有效地测试项目的性能,...
5. 配置Apache与Tomcat的整合,例如通过`mod_jk`或`mod_proxy_ajp`模块,使得Apache能作为反向代理将请求转发给Tomcat处理。 最后是NFS的配置,NFS用于在不同主机之间共享文件系统: 1. 安装NFS服务,如`yum ...
- Apache通过模块化设计扩展功能,如mod_rewrite用于URL重写,mod_deflate用于内容压缩,mod_jk用于与Tomcat集成。 2. **Tomcat应用服务器**: - Tomcat是Java Servlet和JavaServer Pages(JSP)的开源应用服务器...
### Apache 2.2 + Tomcat 6.0 + MySQL 5.0 + mod_jk 整合 本文旨在深入探讨如何将Apache 2.2、Tomcat 6.0、MySQL 5.0以及mod_jk进行有效的整合,以构建一个高性能、可扩展的应用服务器环境。这种整合方式不仅能够...
3.rewrite:Nginx 的 rewrite 模块可以实现 URL 重写,实现友好的 URL。 4. 代理服务器:Nginx 还可以作为 IMAP/POP3/SMTP 代理服务器。 Nginx 的安装和配置: 1. 安装 Nginx:下载 Nginx 的源代码,解压缩并编译...
### Apache URL Rewrite功能配置知识点详解 #### 一、Apache URL Rewrite简介 Apache URL Rewrite功能是Apache Web服务器的一个强大工具,它允许用户通过一系列规则来改变客户端请求的URL,从而实现URL重写、...
在这个版本中,你需要了解其基本配置,如httpd.conf文件的修改,虚拟主机的设置,以及如何通过mod_rewrite模块进行URL重写等。 2. **Tomcat 5.0.16**:Tomcat是一个开源的Servlet容器,主要用于处理Java Web应用...
- 使用`mod_rewrite`模块实现URL重写,将JSP请求转发到Tomcat。 10. **测试与调整**: - 访问Apache服务器的本地地址(如`http://localhost`)以确保其正常运行。 - 访问JSP页面以测试Apache与Tomcat的整合是否...
- LoadModule rewrite_module 模块启用URL重写功能。 - DocumentRoot和标签定义服务器根目录,可以按需修改。 - DirectoryIndex添加对PHP文件的支持。 - 在文件末尾添加PHP7模块配置,指定PHP的模块和配置文件...
首先,UrlRewrite是Tuckey开源组织提供的一款过滤器,它基于Apache的开源项目 mod_rewrite 的思想,实现了在Servlet容器(如Tomcat)中的URL重写功能。通过在web.xml中配置UrlRewriteFilter,我们可以定义一系列规则...
最后,在Apache的httpd.conf中,我们需要设置URL重写规则,将需要由Tomcat处理的请求转发给mod_jk。例如,如果所有的以"/app"开头的请求需要交给Tomcat,我们可以添加以下规则: ```apacheconf <IfModule mod_...
标题中的“urlrewrite包”指的是Tuckey组织开发的一个开源URL重写工具——UrlRewriteFilter,它基于Apache HTTP服务器的mod_rewrite模块的功能,适用于Java Servlet容器,如Tomcat、Jetty等。这个工具允许开发者通过...
Apache支持多种模块,可以扩展其功能,例如通过mod_rewrite模块进行URL重写,以实现更灵活的路由规则;通过mod_proxy模块,可以实现反向代理和负载均衡,提高网站的性能和可用性;还有通过mod_php或mod_jk模块,可以...
`urlrewrite`是一个流行的开源Java过滤器,它基于Apache的`Tuckey URLRewriteFilter`,用于在Servlet容器(如Tomcat)中实现URL重写规则。这个jar包提供了强大的配置灵活性,使得开发者能够轻松地定义各种重写规则。...