#asp.net
#asp.net
Вопрос:
В моем ASP.NET на 4 сайте я получаю множество URL-адресов со встроенной в них строкой сеанса. Из-за этого одна и та же страница индексируется поисковой системой несколько раз, все с разными идентификаторами сеанса. Раньше я также добавлял строку aspautodetectcookie к URL-адресу. Но я смог удалить его позже.
Как я могу удалить этот сеанс из URL-адреса — навсегда.
Если мой URL http://www.somesite.com/ViewProduct.aspx?ID=12 , я хочу, чтобы это отображалось так постоянно.
Вот некоторые настройки в моем web.config
<authentication mode="Forms">
<forms cookieless="UseCookies" loginUrl="~/AccessDenied.aspx" name="FORMAUTH" />
</authentication>
<sessionState mode="InProc" cookieless="false" timeout="15" />
<anonymousIdentification cookieless="AutoDetect" enabled="false" />
Ответ №1:
Измените cookieless на «UseCookies», чтобы сеанс сохранялся внутри файла cookie. В противном случае сеанс будет встроен в URL.
Вот дополнительная информация с сайта MSDN
Комментарии:
1. хорошо, как мне проверить, была ли проблема устранена? Я имею в виду, что эти идентификаторы сеанса появляются случайным образом в URL-адресе.
2. другой вопрос — что произойдет, если я установлю для cookieless значение true и если клиент не поддерживает cookies?
3. Вы сможете проверить это, посетив страницу, которая будет использовать сеанс и вызывать ответную публикацию.
4. Что касается того, что произойдет, если они не поддерживаются, я считаю, что это вызывает ошибку. Если вам нужно поддерживать клиентов без включенных файлов cookie, вы можете установить для cookieless значение «Автоматическое определение». Это вернет строку сеанса в URL-адрес для этих клиентов.
5. Я только что читал эту статью beansoftware.com/ASP.NET-Tutorials / … и в нем говорится, что добавление cookieless = «true» идентификатор сеанса «будет» встроен во все URL-адреса страниц. Можете ли вы объяснить, что вы имели в виду и что говорится в этой статье.