2016-08-05 71 views
0

我已經在Websphere應用服務器上部署了我的應用程序,並且我的應用服務器和網絡服務器彼此進行了通信。網絡服務器httpd.conf文件重寫流程不起作用

我已經部署了一個應用程序和/ toms上下文根和其他應用程序與/ tomsmt上下文根。現在我改變了我在httpd.conf中的重寫規則來運行這兩個應用程序。但是應用程序在/ toms上下文根上運行,但是當我運行由/ tomsmt上下文根部署的應用程序時,則出現錯誤。

有人可以請幫忙。

我重寫規則如下

重寫規則^ /(湯姆斯| tomsmt)$(湯姆斯| tomsmt)/backend/index.cfm [R]

現在URL /湯姆斯/後端/指數。 cfm工作但URL/tomsmt/backend/index.cfm不起作用

回答

0

無論你有什麼要達到你的後端,你沒有指定,並可能影響到這一點。

您需要引用用括號不是想捕捉它的目標URL

由於拍攝到的值:

RewriteRule ^/(toms |tomsmt)$ /$1/backend/index.cfm [R] 

$ 1參照捕獲組:(湯姆斯OR tomsmt)和意志使用客戶請求的任何值並使用它進行重定向。

還有另外一種方法,使用RedirectMatch:

RedirectMatch ^/(toms |tomsmt)$ /$1/backend/index.cfm 


圖片的標題說明:如果有進一步的RewriteRules下來 在你重寫規則你不使用標誌L,考慮重寫不會停止請注意重寫循環。

就像在上面的例子中,我更喜歡使用mod_alias Redirect/RedirectMatch來進行簡單的外部重定向,他們完成了工作並且對於這種簡單的重定向並沒有矯枉過正。除非確實需要,否則不要使用mod_rewrite是明智的。