По сути, я не хочу, чтобы поисковая система наказывала меня за "дублированное содержимое". Я обеспокоен тем, что в некоторых случаях сервер веб-приложений может генерировать исключение на страницах, которые в противном случае отображались бы нормально.
Например, пользователи могут публиковать ссылки на следующие две страницы в Интернете:
www.example.org/nice-article
и
www.example.org/even-nicer-article
Теперь мое веб-приложение обычно возвращает две разные страницы, и они должны содержать отличный контент, который будет хорошо проиндексирован Google и т. Д.
Меня беспокоит то, что в некоторых случаях мой сервер веб-приложений может столкнуться с исключением при попытке обслуживания этих страниц: может быть ошибка, которую мы не обнаружили в предыдущем выпуске, сервлет может выдать исключение, так как ресурс это зависит от вниз и т. д.
В этом случае, насколько я понимаю, происходит некое исключение, но я не уверен, что я делаю правильно.
В моем web.xml у меня есть что-то вроде этого:
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
и
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
Я не уверен, что мой web.xml здесь правильный.
Меня беспокоит то, что в случае возникновения исключительной ситуации я отображаю сообщение error.jsp , сообщающее что-то вроде "Произошла внутренняя ошибка, повторите попытку позже" но по какой-то причине я бы отправлял это как обычную страницу, а не как страницу с ошибкой (и что, следовательно, все испорченные страницы будут называться «дублирующимся содержимым», потому что все они будут отображаться более или менее одинаково сообщение).
В основном я хотел бы знать две вещи:
какой код состояния я должен выдать, если ресурс , который обычно доступен , недоступен, когда сканирующие боты (и браузеры клиентов) пытаются получить к нему доступ (это 500, верно?)
как настроить Tomcat для генерации такого кода состояния
Кроме того, было бы здорово, если бы вы могли объяснить, как я могу проверить, работает ли это: например, могу ли я telnet войти и посмотреть, получу ли я правильный код ошибки?