我有一種資源,它是一個.
這意味着我的網址是這樣的: http://myapp/index/ .
,我需要添加查詢參數,使得它看起來像這樣: http://myapp/index/.?type=xml
我用Freemarker我的資源的介紹,並提出針對這種情況百分比編碼黑客:URL資源是一個點(%2E)
<#if key?matches("\\.")>
<li><a href="${contextPath}/index/%2E">${key}</a></li>
</#if>
這工作正常的Firefox。但所有其他瀏覽器如IE,Safari,Chrom,Opera只是忽略了我的URL編碼點(http://myapp/index/%2E
)。
有什麼建議嗎?
我想我必須禁止該那麼,THX。 – cuh 2011-02-09 14:55:31
我發現即使%2e是網址的一部分,例如'http:// localhost/index%2ehtml',Firefox(14)和Chrome將其轉換爲'.'。這在2.3節中有詳細說明。在3.3節的後面,它說'.'和'..'是在路徑名中相對引用的。所以,'http:// localhost /%2e'本質上意味着'http:// localhost /'。 – slowpoison 2012-07-20 03:59:40
好點,@slowpoison - 「用相應的百分比編碼的US-ASCII字節代替未保留字符的URI是相同的」和「。」。是一個毫無保留的人物。呃,好吧。 – phyzome 2014-07-18 22:00:27