透明重定向到端口8080

Den*_*ret 3 regex apache .htaccess mod-rewrite redirect

我的服务器端口8080上有一些Web应用程序可用.

由于我的一些用户由于防火墙而无法访问端口8080,我想在我的apache服务器上设置重定向.Il想要以下网址

http://dev2.test.com/tomcat/somewebapp/restofthepath
Run Code Online (Sandbox Code Playgroud)

显示可访问的内容

http://dev2.test.com:8080/somewebapp/restofthepath
Run Code Online (Sandbox Code Playgroud)

当然我不希望用户输入第一个地址来查看第二个地址.

我在下面添加了以下.htaccess文件/var/www:

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/(tomcat)
RewriteRule ^/tomcat/(.*)$ http://dev2.test.com:8080/$1 [P,QSA,L]
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误/var/log/apache2/error.log:

[Tue Oct 09 15:23:06 2012] [error] File does not exist:  proxy:http://dev2.test.com:8080/tomcat/
Run Code Online (Sandbox Code Playgroud)

你能告诉我应该怎么做吗?

lan*_*nzz 7

你可能应该使用mod_proxy而不是mod_rewrite.

ProxyPass /tomcat http://dev2.test.com:8000/
ProxyPassReverse /tomcat http://dev2.test.com:8000/
Run Code Online (Sandbox Code Playgroud)

编辑:

此配置必须位于httpd.conf中.它可能位于VirtuaHost部分或文件的根目录中.

你必须启用mod_proxy.这可以使用

LoadModule  proxy_module         /usr/lib/apache2/modules/mod_proxy.so
LoadModule  proxy_http_module    /usr/lib/apache2/modules/mod_proxy_http.so
Run Code Online (Sandbox Code Playgroud)