apache的博客roller的url重写功能,以及apache的二级域名配置

我使用端口跳转的方式部署了我的apache+tomcat,并准备对roller项目的链接进行重写。我在服务商的平台上开通了我域名的泛解析功能到我们的服务器ip上。 

在我配置apache的urlrewrite规则的时候发现我的二级域名重写竟然在浏览器上被跳转了。经过无数次实验后发现,我所谓的隐式链接也是一个被重写的url。

 apache的mod_rewrite以为我的代理url是roller的那个重写的url

 从而我发现roller的url重写。roller的url重写弄的很隐蔽,不是我们常见的方式,使用urlrewrite.jar。而是自己编码实现的。具体的可以参考roller4中的那个web.xml文件。例如:

    <servlet>
        <servlet-name>PageServlet</servlet-name>
        <servlet-class>org.apache.roller.weblogger.ui.rendering.servlets.PageServlet</servlet-class>
        <load-on-startup>5</load-on-startup>
    </servlet>

这个就是将重写功能交给这个servlet来进行了。她能将

  http://www.domain.com/roller/admin重写成

  http://admin.domain.com/roller/roller-ui/rendering/page/admin

  这样如果我们按照如下方式配置apache服务器的urlrewrite,那么最终浏览器上的链接,就是http://admin.domain.com/roller/admin,达不到我们二级域名的效果:

配置方式如下:


正确的配置方式是我们需要将roller重写的实际链接作为隐式链接才行。

例子如下:

这个时候,你敲击http://admin.domain.com ,那么浏览器的域名就不会变化了

备注:

1、上边所提到的“domain”是你的域名,admin,是我的二级域名。

2、上边所实现的功能只是一个二级域名的重定向,但是浏览器链接不变化,同时针对www这个开头的域名不做重定向。

3、本文想说明的问题就是apache的roller有自己的url重定向策略,但是这个策略和我们的apache的mod_rewrite配合要注意我们不能引用那些被roller做了urlrewrite的链接。这个会导致我们的浏览器链接不是我们想要的那种效果

4、想使用apache的http服务器的urlrewrite,请一定别忘记加载mod_rewrite模块呀

 5、开发调试的时候RewriteLogLevel 9是没啥,但是上线后设置成为0比较安全。这块的日志量很惊人呢

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值