SEO 友好的 url 给出了“潜在危险的 Request.Path”在 IIS 上

发布于 2024-11-06 15:45:22 字数 272 浏览 0 评论 0原文

我正在创建一个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

2024-11-13 15:45:22

ASP.NET 有 HttpUtility 可以让您转义非法字符在 url 或 html 字符串中。

HttpUtility.UrlEncode(yourString);

尽管您只需要 URL 末尾的 ID 来从数据库获取数据,但最好还检查 URL 的 SEO 友好部分是否与原始 URL 相同。

如果出于某种原因它发生了更改,您应该执行 301 永久重定向到原始内容,以避免创建重复的内容。

另外,设置规范元标记也可以帮助您避免出现该问题。

ASP.NET has HttpUtility which lets you escape illegal characters in url or html string.

HttpUtility.UrlEncode(yourString);

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文