IIS 上的 301 URL 编码

301 URL encoding on IIS

所以我试图在我的网站上设置 301 重定向并且所有新页面都使用 JQUERY 标签,因为 JQUERY 标签 使用特定用于打开新选项卡的 ID 我尝试设置我的 301,例如 /folder/file.html#tabId。所以我的 301 实际上看起来像这样:

(所以我的所有内容现在都在一个页面中)

我目前正在研究 IIS 8,我知道有一些规则对我的 301 上的几个字符进行编码,所以我也尝试对我的新网址进行编码,但似乎当它检测到 % 时,ISS 告诉我无效。

错误日志: 从客户端检测到具有潜在危险的 Request.Path 值 (%)。

描述:在执行当前网络请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。

异常详细信息: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