需要一些帮助在apache v2.4中编写重写规则。
我有一个托管在tomcat v8.0.29中的Web应用程序,它具有以下URL:
http://myapptest:8080/app
通过使用mod_jk的魔力和apache重写引擎,我已经能够清理到http://myapptest为止。
我现在在apache中配置了SSL,我需要http://myapptest和https://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>