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

我有一个托管在tomcat v8.0.29中的Web应用程序,它具有以下URL:

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的重定向?

如果有更好,更清洁的方法来处理此问题,我对此持开放态度,因为我不是这方面的专家。

最佳答案

避免在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>

07-28 02:33