2014-09-22 135 views
0

我正在使用Redhat,並且正在嘗試在apache tomcat中重定向url。例如,我有一個網址是http:// example:8282。我想重定向頁面,這樣當我輸入http:// example/alfresco時,它會在瀏覽器中顯示http:// example/alfresco,以便用戶看不到端口號。我已經成功地重定向,但沒有重定向,並保持我想重定向到實際url的url,我不想看到。如何在Apache Tomcat 8.0.9中使用端口號重定向URL,以便用戶無法看到端口號

事情我在/etc/httpd/conf/httpd.conf中已經嘗試

# 
Redirect permanent /alfresco http://<ip address>: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] 
# 

謝謝你, 任何幫助,將不勝感激

回答

0

因爲我覺得這是一個根本的錯誤,我會先嚐試重新定義首先最重要的點,然後點你的解決方案:

重定向: 您不能使用隱藏端口或任何網址只有重定向,因爲重定向只是這樣做 - 重定向。因此,即使您在用戶輸入http://example/alfresco時對其進行了正確配置,他也會被重定向到http://example:8282/alfresco

端口: 當你的瀏覽器指向http://example/它實際上裝載端口80http://example:80/主機example。端口被隱藏的唯一原因是因爲80是HTTP協議的默認端口,所以默認情況下所有瀏覽器都被設置爲隱藏它。例如,當您訪問http://example:8282/時,所有其他端口都不是這樣。

解決方案: 要隱藏非標準端口或您不想看到的任何其他地址,您需要對其進行代理。對於你的情況,我建議ProxyPass。一個可行的例子可以看到這裏: https://stackoverflow.com/a/7818502/2948573

+0

我appcreciate您的答覆。這可以工作,但不能用於目錄結構。我可以去http:// /tomcat,但是如果我點擊tomcat裏的一個叫做docs的鏈接,它會嘗試去http:// /docs,它有一個錯誤說網頁不存在,因爲它確實存在沒有考慮到代理。它應該去http:// /tomcat/docs。所以它確實有效,只是沒有目錄結構。 – jbaile33 2014-09-23 22:03:16

+0

可以請你說明你如何配置ProxyPass? – 2014-09-24 14:26:07