SEO 友好的 url 给出了“潜在危险的 Request.Path”在 IIS 上
我正在创建一个 SEO 友好的 URL,其中包含一些产品名称,这些名称可能具有不那么 url 友好的字符,例如:
www.foo.com/some-friend/product-name-bla-%numbers-maybe/1234567
I我只对最后一个 ID 号感兴趣,但是当前 IIS 重定向到我的某些 URL 上的错误页面。
我不想禁用 Request.Path 检查。
我的问题是 - 如何清理 URL,以便它们不会打扰 IIS(最好在 C# 中)?
I'm creating a SEO friendly URL which has some product names, which might have not-so-url friendly characters, eg:
www.foo.com/some-friend/product-name-bla-%numbers-maybe/1234567
I'm only interested in the last id number, however currently IIS redirects to a fault page on some of of my URLs.
I do not wish to disable the Request.Path check.
My question is - How do I sanitize the URLs so they will not bother IIS (preferably in C#) ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
ASP.NET 有 HttpUtility 可以让您转义非法字符在 url 或 html 字符串中。
尽管您只需要 URL 末尾的 ID 来从数据库获取数据,但最好还检查 URL 的 SEO 友好部分是否与原始 URL 相同。
如果出于某种原因它发生了更改,您应该执行 301 永久重定向到原始内容,以避免创建重复的内容。
另外,设置规范元标记也可以帮助您避免出现该问题。
ASP.NET has HttpUtility which lets you escape illegal characters in url or html string.
Even though you are only going to need the ID at the end of the URL to get data from database, it is a good idea to also check if the SEO friendly part of the url is identical to original url.
If for whatever reason it has changed you should do a 301 permanent redirect to the original in order to avoid creating duplicate content.
Also setting up a canonical meta tag would help you prevent that issue.