如何在ApacheTomcat8.0.9中重定向带有端口号的URL,以便用户看不到端口号

如何在ApacheTomcat8.0.9中重定向带有端口号的URL,以便用户看不到端口号,apache,tomcat,redirect,redhat,Apache,Tomcat,Redirect,Redhat,我正在使用Redhat,并试图在ApacheTomcat中重定向url。例如,我有一个网址是http://Example:8282。我想重定向页面,这样当我键入http://example/alfresco时,它会在浏览器中显示http://example/alfresco,这样用户就看不到端口号了。我已经成功地重定向,但没有重定向和保持的网址,我想重定向到实际的网址,我不想看到 我在/etc/httpd/conf/httpd.conf中尝试过的东西 # Redirect permanent /

我正在使用Redhat,并试图在ApacheTomcat中重定向url。例如,我有一个网址是http://Example:8282。我想重定向页面,这样当我键入http://example/alfresco时,它会在浏览器中显示http://example/alfresco,这样用户就看不到端口号了。我已经成功地重定向,但没有重定向和保持的网址,我想重定向到实际的网址,我不想看到

我在/etc/httpd/conf/httpd.conf中尝试过的东西

#
Redirect permanent /alfresco http://<ip address>:8282/
#
#
重定向永久/露天http://:8282/
#
我也试过了

#
RedirectMatch ^/tomcat/(*)$ http://<ip address>:8282/$1
#
#
RewriteEngine On
RewriteCond %<ip address>:8282   !^1.1.33.201\/tomcat
RewriteCond %<ip address>:8282   !^$
RewriteCond %8080                !80$
RewriteRule ^tomcat/?$           http://<ip-address> [PT]
#
#
重定向匹配^/tomcat/(*)$http://:8282/$1
#
我也试过了

#
RedirectMatch ^/tomcat/(*)$ http://<ip address>:8282/$1
#
#
RewriteEngine On
RewriteCond %<ip address>:8282   !^1.1.33.201\/tomcat
RewriteCond %<ip address>:8282   !^$
RewriteCond %8080                !80$
RewriteRule ^tomcat/?$           http://<ip-address> [PT]
#
#
重新启动发动机
重写cond%:8282^1.1.33.201\/tomcat
重写cond%:8282^$
重写秒%8080!80$
重写规则^tomcat/?$http://[PT]
#
谢谢,,
任何帮助都将不胜感激

因为我认为这是一个根本性的错误,在为您提供解决方案之前,我将首先尝试重新定义最重要的方面:

重定向: 您不能仅使用重定向来隐藏端口或任何URL,因为重定向正是这样做的——重定向。因此,即使在用户输入
http://example/alfresco
,他将被重定向到
http://example:8282/alfresco

端口: 当您将浏览器指向
http://example/
它实际上在端口
80
http://example:80/
。端口被隐藏的唯一原因是80是HTTP协议的默认端口,因此所有浏览器默认设置为隐藏它。当您访问
http://example:8282/
例如

解决方案: 要隐藏非标准端口或任何其他您不想看到的地址,您需要代理它。对于你的情况,我建议ProxyPass。这里可以看到一个工作示例:

我感谢你的答复。这确实有效,但不适用于目录结构。我可以去http:///tomcat 但是,如果我点击tomcat内部一个名为docs的链接,它将尝试转到http:///docs 它有一个错误,说页面不存在,因为它没有考虑代理。它本应该去的http:///tomcat/docs. 因此,它确实可以工作,但不适用于目录结构。