`
feelwindy
  • 浏览: 59679 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

apache+tomcat配置url rewrite 的怪问题

阅读更多
在网上找了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
分享到:
评论

相关推荐

    Apache+Tomcat实现UrlRewrite

    NULL 博文链接:https://cygogo.iteye.com/blog/903344

    apache+tomcat配置说明

    ### Apache+Tomcat配置说明 #### 一、安装与配置Apache与Tomcat 在搭建Apache与Tomcat联合工作环境之前,首先需要确保Apache服务器已经安装完成,并且版本为2.2。此外,还需要安装FTP服务器以及获取mod_jk.so模块...

    linux+apache+tomcat+java配置文件.rar

    这个“linux+apache+tomcat+java配置文件.rar”压缩包很可能是为了帮助用户搭建和配置这样一个环境而准备的。下面,我们将详细探讨这些组件以及它们之间的配置要点。 1. Linux:作为开源的操作系统,Linux是许多...

    apache2.4+tomcat7+mod_jk.so_整合配置

    它支持多种模块,如 `mod_rewrite`(URL 重写)和 `mod_security`(安全防护)。 2. **Tomcat 7**:Tomcat 是一个开源的 Java Servlet 容器,主要用于运行 Java Web 应用程序。Tomcat 7 是第七个主要版本,支持 ...

    Apache+Tomcat+6高级编程

    1. **Apache基础**:讲解Apache服务器的基本配置和管理,包括虚拟主机的设置、URL重写规则的使用(如通过mod_rewrite模块)、模块的加载和配置,以及安全性设置,如SSL/TLS加密。 2. **Tomcat基础**:介绍Tomcat的...

    Apache+Tomcat集群、优化配置

    ### Apache+Tomcat集群、优化配置 #### 一、文档目的 本文档旨在提供详细的步骤指导,帮助读者在本地环境中成功搭建Apache与Tomcat的服务集群,并进行必要的性能优化。通过这种方式,可以有效地测试项目的性能,...

    rhel v6.1 apache+tomcat+nfs配置指南

    5. 配置Apache与Tomcat的整合,例如通过`mod_jk`或`mod_proxy_ajp`模块,使得Apache能作为反向代理将请求转发给Tomcat处理。 最后是NFS的配置,NFS用于在不同主机之间共享文件系统: 1. 安装NFS服务,如`yum ...

    Liunx 下 apache+tomcat 集群建设2

    - 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 整合 本文旨在深入探讨如何将Apache 2.2、Tomcat 6.0、MySQL 5.0以及mod_jk进行有效的整合,以构建一个高性能、可扩展的应用服务器环境。这种整合方式不仅能够...

    Nginx+Tomcat配置.pdf

    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 URL Rewrite功能是Apache Web服务器的一个强大工具,它允许用户通过一系列规则来改变客户端请求的URL,从而实现URL重写、...

    从零开始整合apache2.0.48+Tomcat5.0.16[完全图文教程]

    在这个版本中,你需要了解其基本配置,如httpd.conf文件的修改,虚拟主机的设置,以及如何通过mod_rewrite模块进行URL重写等。 2. **Tomcat 5.0.16**:Tomcat是一个开源的Servlet容器,主要用于处理Java Web应用...

    RedHat Apache与Tomcate整合全过程

    - 使用`mod_rewrite`模块实现URL重写,将JSP请求转发到Tomcat。 10. **测试与调整**: - 访问Apache服务器的本地地址(如`http://localhost`)以确保其正常运行。 - 访问JSP页面以测试Apache与Tomcat的整合是否...

    apache+php+mysql+tomacat环境搭建.docx

    - LoadModule rewrite_module 模块启用URL重写功能。 - DocumentRoot和标签定义服务器根目录,可以按需修改。 - DirectoryIndex添加对PHP文件的支持。 - 在文件末尾添加PHP7模块配置,指定PHP的模块和配置文件...

    UrlRewrite例子

    首先,UrlRewrite是Tuckey开源组织提供的一款过滤器,它基于Apache的开源项目 mod_rewrite 的思想,实现了在Servlet容器(如Tomcat)中的URL重写功能。通过在web.xml中配置UrlRewriteFilter,我们可以定义一系列规则...

    如何整合apache和tomcat

    最后,在Apache的httpd.conf中,我们需要设置URL重写规则,将需要由Tomcat处理的请求转发给mod_jk。例如,如果所有的以"/app"开头的请求需要交给Tomcat,我们可以添加以下规则: ```apacheconf &lt;IfModule mod_...

    urlrewrite包和配置文件

    标题中的“urlrewrite包”指的是Tuckey组织开发的一个开源URL重写工具——UrlRewriteFilter,它基于Apache HTTP服务器的mod_rewrite模块的功能,适用于Java Servlet容器,如Tomcat、Jetty等。这个工具允许开发者通过...

    apache+jboss学学.rar

    Apache支持多种模块,可以扩展其功能,例如通过mod_rewrite模块进行URL重写,以实现更灵活的路由规则;通过mod_proxy模块,可以实现反向代理和负载均衡,提高网站的性能和可用性;还有通过mod_php或mod_jk模块,可以...

    网站安全urlrewrite教程和jar包

    `urlrewrite`是一个流行的开源Java过滤器,它基于Apache的`Tuckey URLRewriteFilter`,用于在Servlet容器(如Tomcat)中实现URL重写规则。这个jar包提供了强大的配置灵活性,使得开发者能够轻松地定义各种重写规则。...

Global site tag (gtag.js) - Google Analytics