链接URL重写Apache 2.4中的规则

时间:2015-12-18 17:37:32

标签: apache tomcat mod-rewrite url-rewriting apache2.4

在apache v2.4中编写重写规则需要一些帮助。

我有一个托管在tomcat v8.0.29中的网络应用程序,它有这个网址:

http://myapptest:8080/app

通过mod_jk和apache重写引擎的魔力,我已经能够将其清理到http://myapptest

我现在已经在apache中配置了SSL,我需要http://myapptesthttps://myapptest才能重定向到https://myapptest.domain.com

在httpd-ssl.conf中,我有这个vhost配置来处理重写内容:

<VirtualHost _default_:443>
  ServerName myapptest
  RewriteEngine on    
  RewriteRule   ^/$ /app [NC,PT,L]    
  DocumentRoot "c:/apache/tomcat/webapps/app"
  JkMount /* myapp          
  ErrorLog "logs/myapptest-error.log"
  CustomLog "logs/myapptest-access.log" common
  ...other stuff...
</VirtualHost>

然后,在httpd-vhosts.conf中我处理端口80上http流量的重定向。

<VirtualHost myapptest:80> 
    ServerName myapptest
    Redirect      /   https://myapptest.domain.com/
</VirtualHost>

我遗失的最后一篇文章是如何处理https://myapptest的重定向?

如果有更好,更清洁的方式来处理这个问题,我对此非常开放,因为我不是这方面的专家。

1 个答案:

答案 0 :(得分:0)

避免VirtualHost标记内的主机名:

# First listed is the default for port 80
<VirtualHost *:80> 
    ServerName myapptest.domain.com
</VirtualHost>

# Capture the short hostname and redirect to FQDN
<VirtualHost *:80> 
    ServerName myapptest
    Redirect      /   https://myapptest.domain.com/
</VirtualHost>