我正在努力将远程服务器上的虚拟主机配置为执行以下操作:我有一个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>