由於某種原因,我需要使用UrlRewriteFilter從Spring中MVC項目中的查詢字符串從Url中刪除「.jsp」。如何使用UrlRewriteFilter從帶查詢字符串的url中刪除「.jsp」
例如,我想改變
http://localhost:8080/admin/project.jsp?m_product=GA&m_code1=QULQ2U
到
http://localhost:8080/admin/project?m_product=GA&m_code1=QULQ2U
我嘗試了各種規則,但沒有成功。
例如,當我設置的規則爲
<rule>
<from>/admin/project.jsp?(.+)</from>
<to type="redirect">/admin/project?$1</to>
</rule>
UrlRewriteFilter將改變
admin/project.jsp?m_product=GA&m_code1=QULQ2U
到
admin/project?p
當我使用下面的規則之前轉義問號查詢字符串
<rule>
<from>/admin/project.jsp\?(.+)</from>
<to type="redirect">/admin/project?$1</to>
</rule>
UrlRewriteFilter不會重寫URL。
您的幫助表示讚賞。
正如我在默認情況下'明白'僅使用URL路徑(不包括查詢字符串 - 您需要使用''或使用''來處理查詢字符串)。因此,第一條規則將以任何方式工作,因爲'?'使先前的字母'p'(在'jsp'中)成爲可選項。在第二個規則中,你使'?'爲必需的字符 - 它必須始終存在。試用'(\?(。+))?'而不是'\?(。+)'並用'$ 2'代替'$ 1'。 (** P.S **這些只是一般的想法,我不太熟悉UrlRewriteFilter) –
LazyOne