Apache2虚拟主机配置端口80到8888



我正在努力将远程服务器上的虚拟主机配置为执行以下操作:我有一个Tomcat在端口8888上运行,并希望在端口80上向公众提供它。为此,我有一个类似的v-host配置,它运行得很好:

<VirtualHost *:80>
    ServerName subdomain.myserver.com
    ServerAlias some-alias.com www.some-alias.com
    Redirect permanent / http://myserver.com:8888
</VirtualHost>

此外,我想运行一些位于/var/www/auth/中的php脚本。我试图将它们添加到上层v-host配置下面,但它们根本无法访问:

<VirtualHost *:80>
    ServerName subdomain.myserver.com
    ServerAlias some-alias.com www.some-alias.com
    DocumentRoot /www/auth/
    Redirect permanent /auth http://myserver.com:80/auth
</VirtualHost>

致以最良好的问候!

这样的东西应该可以工作:

DocumentRoot /var/www/auth/
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule (.*)  http://myserver.com:8888%{REQUEST_URI} [R=301,L]

或者你甚至想让它对你的用户来说更漂亮:

ServerName subdomain.myserver.com
ServerAlias some-alias.com www.some-alias.com myserver.com
DocumentRoot /var/www/auth/
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule (.*)  http://myserver.com:8888%{REQUEST_URI} [P]
</VirtualHost>