2012-03-24 46 views
1

我正在使用名爲IHS(IBM HTTP Server)的重新打包的版本apache。基本與apache web服務一樣具有其他功能。我試圖完成的是應用重寫規則來隱藏帶有縮短url的查詢字符串的複雜url。Apache的網址重寫不工作,但重定向的作品,爲什麼?

最初,當我第一次用'R'標記測試它的工作正常。它能夠通過重定向到最終的url來匹配模式和響應以及適當的長url。

如:https://example.com/us/ABC/123 - >https://example.com/webapp/ HEADERTEXT = ABC &的categoryId = 123

但經過我有遙控器的 'R' 標誌,我的改寫與「文件信息失敗不存在中:/ opt/IBM/HttpServer的/ htdocs中/ dmcst/Web應用程序」。我試圖顯示沒有給予用戶的完整url的縮短網址。/webapp/..不是本地路徑,而是它的一些其他遠程路徑。爲什麼會因'重寫'而不是'重定向'失敗?


上 別名/ wcsstore 「/opt/IBM/WebSphere/AppServer/profiles/dmcwcsst/installedApps/WC_dmcwcsst_cell/WC_dmcwcsst.ear/Stores.war」 別名/ WCS「的/ opt/IBM/RewriteEngine敘述的WebSphere /AppServer/profiles/dmcwcsst/installedApps/WC_dmcwcsst_cell/WC_dmcwcsst.ear/CommerceAccelerator.war」 別名/靜態 「的/ opt/IBM /內容」

重寫規則^/US /([AZ]。)/([ 0-9]。)/?$/webapp/wcs/stores/servlet/AcquisitionBrowseView?langId = -1 & storeId = 10001 & catalogId = 10051 & HEADERTEXT = $ 1 &的categoryId = $ 2 NC,R,L]

回答

0

從WebSphere文檔:

http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=%2Fcom.ibm.websphere.nd.multiplatform.doc%2Finfo%2Fae%2Fae%2Fujpx_rewrite.html

重寫規則定義了代理服務器如何重寫網址。已被目標服務器重定向的響應 通常會返回一個302 狀態碼,並帶有一個位置標題,該標題定義了客戶端應該重定向到的URL。如果 目標服務器不知道代理服務器,則需要重寫此URL。重定向的URL是 已修改爲將客戶端正確指向代理服務器而不是 直接指向客戶端可能無法看到的目標服務器。使用 以下屬性來配置URL重寫規則的 代理服務器

避免麻煩:代理服務器只支持重寫重定向 響應。因此,以下設置僅適用於 重定向響應。這些設置不適用於請求,因爲 代理服務器不支持請求的URL重寫。

+0

如果我讀這正確的WAS不支持「重寫規則」透明期待的目標網址設備,而是它使用「重定向301/302」?這不可能是正確的!! 在使用apache httpd的正常情況下,我應該能夠執行**重定向**和**重寫**可互換的基於我希望重定向(301/302)或重寫(隱藏的後端請求/重定向),if一個工作,那麼另一個也應該工作,你同意嗎? @ paulsm4 – Fang 2012-03-26 18:30:33

0

我有同樣的問題

它看起來像WAS插件與mod_rewrite的

不友善所以是模塊聲明(的LoadModule was_ap22_module ...)被轉移到httpd的底部。CONF

對我來說,它有助於