簡體   English   中英

IIS上的301 URL編碼

[英]301 URL encoding on IIS

因此,我嘗試在我的網站上設置301重定向,並且所有新頁面都使用JQUERY選項卡,因為JQUERY選項卡使用特定的ID來打開新選項卡,所以我嘗試設置301的/folder/file.html#tabId。 所以我的301實際看起來像這樣:

  • products / productname-overview.html-> /product/productname.html#overview
  • products / productname-features.html-> /product/productname.html#features
  • products / productname-specs.html-> /product/productname.html#specs

(所以我所有的內容現在都將放在一個頁面中)

我目前正在使用IIS 8 ,我知道有一些規則可以對301上的幾個字符進行編碼,因此我也嘗試對新的URL進行編碼,但是當它檢測到%時,ISS會告訴我這是無效的。

  • products / productname-overview.html-> /product/productname.html%23overview

錯誤日志: 從客戶端(%)檢測到潛在的Request.Path值。

說明:執行當前Web請求期間發生未處理的異常。 請查看堆棧跟蹤,以獲取有關錯誤及其在代碼中起源的更多信息。

異常詳細信息: System.Web.HttpException:從客戶端(%)檢測到一個潛在危險的Request.Path值。

源錯誤:當前Web請求的執行期間生成了未處理的異常。 可以使用下面的異常堆棧跟蹤來標識有關異常的來源和位置的信息。

StackTrace: [HttpException(0x80004005):從客戶端(%)檢測到潛在危險的Request.Path值。] System.Web.HttpRequest.ValidateInputIfRequiredByConfig()+12353279 System.Web.PipelineStepManager.ValidateHelper(HttpContext上下文)+166

有沒有一種方法可以僅對“#”字符制定規則? 有關如何解決此問題的任何建議? 謝謝!

您可以將片段的值傳遞到查詢字符串中,然后使用js檢索它,而不是重定向到片段。 您的重定向條目如下所示:

products/productname-overview.html -> /product/productname.html?fragment=overview

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM