【发布时间】:2016-03-26 12:15:23
【问题描述】:
我正在使用带有 mod_jk 的 Apache 2.4 和运行 Java servlet 的 Tomcat。我正在服务的应用程序有一个丑陋的索引 URL:访问 www.mydomain.com/ 会将用户带到 www.mydomain.com/view/user/www/。我想给它起别名,以便用户看到 www.mydomain.com/app/,我正在尝试使用 mod_rewrite 来实现这一点。 这是我目前的设置:
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so
JkWorkersFile /etc/apache2/workers.properties
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories # Is it one of these options?
VirtualHost *:80>
ServerName www.mydomain.com
Redirect permanent / https:/www.mydomain.com
</VirtualHost>
<VirtualHost *:443>
ServerName www.mydomain.com
ServerAdmin webmaster@localhost
JkMount / tomcat
JkMount /* tomcat
LoadModule rewrite_module modules/mod_rewrite.so
RewriteEngine On
RewriteRule ^/$ /app [PT]
RewriteRule ^/app/?$ /view/user/www [PT,L]
RewriteRule ^/app/(.*)$ /view/user/www/$1 [PT,L]
SSLEngine on
SSLCertificateFile /path/to/my_domain.crt
SSLCertificateKeyFile /path/to/my_domain.key
SSLCertificateChainFile /path/to/chainfile.crt
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
</VirtualHost>
所有这些都在 apache2.conf 中。它目前正在做一些与我想要的不同的事情。当您输入 www.mydomain.com/app 时,栏中的地址将更改为 www.mydomain.com/view/user/www(并且它提供正确的页面)。我希望栏继续显示 www.mydomain.com/app,但显示tomcat 在/view/user/www 上的内容,从而向用户隐藏丑陋的URL。我怎样才能做到这一点?
【问题讨论】:
标签: apache tomcat mod-rewrite apache2 mod-jk