Страницы доступны через абсолютные бессмысленные URL в CakePHP?

У моего приложения CakePHP (v2.5.5) есть динамическая карта сайта, которая использует различные методы для создания ссылок (например, /sitemap/career-center), а затем передает эти ссылки Router::url($generated_url, true),

Моя карта сайта должна быть доступна по URL http://example.com/sitemap (маршрут по умолчанию) — который работает нормально. Однако по какой-то причине Google находит мою карту сайта по сумасшедшим URL-адресам, таким как:

  • http://www.example.com/index.php/forums/general/pt-ceus/js/views/jobs/general/img/og/pt-jobs/pt-ceus/general/general/sitemap

У нас даже нет форума нигде в нашей системе, и нет ни одного упоминания о нем. pt-jobs, pt-ceus, а также general все разные разделы нашего сайта. js, imgи т. д. — это каталоги со статическими активами. Но по какой-то причине, это успешно маршрутизируется к моей карте сайта.

В свою очередь, карта сайта, найденная по этому случайному URL, заполняет каждую ссылку внутри нее одним и тем же тарабарщиной, насыщая инструменты для веб-мастеров 500 ошибками. По какой-то причине карта сайта доступна по этому бессмысленному URL, но сгенерированные ссылки внутри карты сайта, использующие ту же структуру, все выдают ошибки (как и ожидалось).

У меня вопрос такой:

  • У вас есть идеи, что происходит?
  • Как Google находит эти случайные URL и почему в мире они успешно перенаправляются на мою карту сайта?

Если вам нужна дополнительная информация, дайте мне знать, и я обновлю эту информацию.

1

Решение

Один из сотрудников обнаружил источник этой проблемы.

Вот информация:

  • Эта ошибка возникает только в определенных средах. Не уверен, что вызывает разницу между производством, контролем качества и т. Д., Но такое поведение встречается не во всех случаях.

Нажав на URL, например:
http://www.example.com/index.php/sdfasdfjklasdjfkl/x/asdkfjasd/asdfasdfeww/sitemaps/

Дает вам следующее:

[base] => /index.php/sdfasdfjklasdjfkl/x/asdkfjasd/asdfasdfeww
[webroot] => /index.php/sdfasdfjklasdjfkl/x/asdkfjasd/asdfasdfeww/

После проверки файла CakePHP CakeRequest.php обнаружен следующий комментарий:

 276  * If CakePHP is called with index.php in the URL even though
277  * URL Rewriting is activated (and thus not needed) it swallows
278  * the unnecessary part from $base to prevent issue #3318.
279  *
280  * @return string Base URL
281  * @link https://cakephp.lighthouseapp.com/projects/42648-cakephp/tickets/3318

Мы не знаем, что это за проблема # 3318 — но похоже, что «исправление» этой проблемы заставляет работать эти длинные сумасшедшие ссылки. В нашем случае это вызвало отражение этих странных URL-адресов в создаваемой карте сайта.

Примечание. Это не объясняет, как вначале эти сумасшедшие URL-адреса генерируются и достигаются Google, но объясняет, почему они работают.

Нашим решением было просто запретить URL с index.php в них, так как в нашем случае перезапись URL включена.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]