【发布时间】:2014-07-22 08:47:19
【问题描述】:
我正在尝试完成以下行为:
user1.mydomain.com -> redirected to /var/lib/tomcat6/webapps/user1/
user2.mydomain.com -> redirected to /var/lib/tomcat6/webapps/user2/
当我将新应用程序添加到 Tomcat 的 webapps 文件夹时,我希望它们使用相同的子域模式自动可用。
使用下面的配置,现在,当访问 user2.mydomain.com:8010 时,我得到“它可以工作!”来自 apache 的页面。但是访问user2.mydomain.com:8010/user2 工作正常。
显然我做错了什么,但我不知道是什么。任何帮助/建议将不胜感激。
我在 tomcat 前使用 apache 和 mod_jk 连接器进行 url 重写。
子域配置:
* IN CNAME mydomain.com.
www.* IN CNAME mydomain.com.
.htaccess 在 /var/www:
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?user1.mydomain.com
RewriteCond %{REQUEST_URI} !user1/
RewriteRule ^(.*)$ user1/$1 [L]
/etc/apache2/sites-enabled 中的000-默认配置:
<VirtualHost *:8010>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
JkMount /* worker1
</VirtualHost>
workers.properties:
#Define 1 real worker using ajp13
worker.list=worker1
#Set properties for worker (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
【问题讨论】:
标签: java apache .htaccess tomcat subdomain