SEO дружественный URL дает «потенциально опасный Request.Path» на IIS - PullRequest
0 голосов
/ 11 мая 2011

Я создаю дружественный для SEO URL, в котором есть несколько названий продуктов, которые могут содержать не очень удобные для пользователя символы, например:

www.foo.com / некоторые Друг / продукт-имя-bla-% числа, возможно / 1234567

Меня интересует только последний номер идентификатора, однако в настоящее время IIS перенаправляет на страницу отказа на некоторых из моих URL-адресов.

Я не хочу отключать проверку Request.Path.

У меня вопрос: как санировать URL-адреса, чтобы они не мешали IIS (желательно в C #)?

1 Ответ

0 голосов
/ 09 июля 2011

ASP.NET имеет HttpUtility , которая позволяет вам экранировать недопустимые символы в строке URL или HTML.

HttpUtility.UrlEncode(yourString);

Несмотря на то, что для получения данных из базы данных вам понадобится только идентификатор в конце URL-адреса, рекомендуется также проверить, идентична ли SEO-часть URL-адреса оригинальному URL-адресу.

Если по какой-либо причине он изменился, вам следует выполнить перенаправление 301 на оригинал, чтобы избежать создания дублированного контента.

Кроме того, установка канонического метатега поможет вам предотвратить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...