我正在尝试在我的服务器上设置一个问题跟踪器,运行 apache2。但是,问题跟踪器 (youtrack) 在 tomcat 中运行,因此我试图设置一个将重定向到 tomcat 服务器的虚拟主机。这是我得到的:
#Tomcat
<VirtualHost *:80>
ServerName issues.example.ca
ServerAlias issues.example.*
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://www.example.com:8080/youtrack/
ProxyPassReverse / http://www.example.com:8080/youtrack/
ProxyPreserveHost On
ProxyStatus On
<Location />
Order allow,deny
Allow from all
</Location>
ErrorLog logs/issues.example.ca-error_log
CustomLog logs/issues.example.ca-access_log common
</VirtualHost>
现在,我可以看到 youtrack 登录页面,但没有应用他们的 CSS,我无法登录。我查看了源代码,结果发现它在 /youtrack 中查找所有资源
显然不存在,因为这意味着它会在 http://example.com:8080/youtrack/youtrack
中查找。我将如何摆脱第二条 youtrack 路径?我试过重写,但似乎不太正确。任何帮助,将不胜感激。谢谢!
编辑:我想像这样重写:
RewriteRule ^.*/youtrack/(.*)$ /$1 [P,L]
网站可以正常运行,但现在的问题是 url 显示为 issues.example.com/youtrack/stuff
而我希望它是 issues.example.com/stuff
。有什么想法吗?
最佳答案
您需要将运行 YouTrack 的服务器上的 URI 从/youtrack 更改为/。 这是实现您所需的唯一方法。
然后,替换 “代理通行证/http://www.example.com:8080/youtrack/” 和 “代理通行证/http://www.example.com:8080/” 等等……
关于Apache2 -> Tomcat 虚拟主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8515520/