Помощь в устранении проблемы с 301 редиректом
У меня возникли проблемы с сайтом, и я провел краулинг-тест в SEOmoz. Тест обнаружил 301 Permanent Redirect для всех страниц сайта, причем похоже, что они перенаправляются сами на себя.
После завершения проверки сайта я обнаружил огромное количество, похоже, поврежденных данных, добавленных к URL каждой страницы: https://www.getyourphotosoncanvas.com/%7Egetyouv4/%7Egetyouv4/contact-us.html 301 редирект на https://www.getyourphotosoncanvas.com/%7Egetyouv4/contact-us.html
Затем следует длинный список редиректов, каждый из которых добавляет еще одну строку, например: domain/7Egetyouv4/%7Egetyouv4/%7Egetyouv4/../%7Egetyouv4/%/contact-us.html
Эта повторяющаяся часть %7Egetyouv4
продолжается бесконечно... Я сократил ее для поста и убрал доменное имя, чтобы избежать третьей ссылки (ограничение на количество ссылок в посте).
Я понимаю, что это проблема. Техподдержка Bluehost утверждает, что у них нет записей о 301 редиректах, затем предположили, что проблема может быть в файле WP xmlrpc.php
? Я новичок в этом, может кто-нибудь объяснить, что все это значит?
Для ясности: я не настраивал редиректы, они мне не нужны, это появилось без моего ведома. Некоторые предполагают взлом?
Самое главное: как это исправить?

Я знаю, что это старая тема, но я наткнулся на нее в марте 2017 года, ища именно это решение. Надеюсь, что мое решение поможет кому-то сохранить немного здравого смысла. Я опубликовал его в форуме поддержки X Theme, так как обращался туда за помощью, и решил, что оно заслуживает более широкого распространения.
Странное (для меня) решение заключалось в изменении порядка двух частей моего .htaccess. Вот оно для тех, кто также бьется головой об стол…
Мне нужно, чтобы мой .htaccess выполнял две задачи: перенаправлять посетителей с Domain1.com в корневую директорию WordPress, а пользователей, заходящих на Domain2.com, — в поддиректорию SubDirectoryName. Ниже приведены фрагменты кода. Изначально .htaccess, вызывавший 301 ошибки на всех страницах, кроме главной, содержал редиректную часть ДО части WordPress. В отчаянии я поменял их местами — сначала WordPress, затем редирект — после отключения плагинов, замены старых URL-адресов разработки с помощью плагина Better Search Replace и даже временного отключения .htaccess (не знал, насколько близко был к решению). И сайт заработал нормально, с корректным перенаправлением Domain2.com.
Мораль такова: WordPress — настоящая примадонна, которая требует, чтобы ее код был первым.
Стандартная структура WordPress:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Код редиректа для перенаправления Domain2.com в поддиректорию SubDirectoryName:
# BEGIN redirect to SubdirectoryName
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?domain2.com$
RewriteCond %{REQUEST_URI} !^/SubDirectoryName/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /SubDirectoryName/$1
RewriteCond %{HTTP_HOST} ^(www.)?domain2.com$
RewriteRule ^(/)?$ SubDirectoryName/index.php
RewriteBase /
RewriteRule ^index.(.*)?$ http://domain2.com/SubDirectoryName/ [r=301]
# END redirect to SubdirectoryName
Черт меня побери, если я понимаю весь этот синтаксис редиректов. Сегодня нам уже не нужно разбираться в каждой строчке кода, и экосистема WordPress жива и процветает. Я рад платить за X Theme, поддержку и несколько полезных плагинов, чтобы уменьшить крутизну обучающей кривой. Просто у меня нет времени — а главное, желания — возиться с этим. Я создал свой первый сайт в Блокноте, с парой кнопок и шапкой, сделанной в Photoshop, еще в 1994-95 годах, просто чтобы проверить, смогу ли. Тогда ты ДОЛЖЕН был знать каждую точку и слэш, но их было меньше, и это было больше похоже на завоевание. Можно было, как говорилось в книге, «Выучить HTML за 24 часа».
Надеюсь, это поможет какому-нибудь измученному разработчику выспаться!

Перейдите в свою программу передачи файлов (FTP) и найдите файл с названием ".htaccess".
Удалите всё его содержимое и вставьте следующий код:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
После этого зайдите в настройки постоянных ссылок и обновите их до желаемого вида.

Это может быть связано с различными проблемами: плохой код в вашей теме, плохой код в плагине, проблемы с конфигурацией .htaccess
...
Если вы не знаете, как редактировать .htaccess
, вы можете начать со следующих действий:
- Сменить тему
- Деактивировать плагины
Если это не решит проблему, она, скорее всего, связана с вашим .htaccess
.
Если это решит проблему, попробуйте вернуть исходную тему и проверить, вернется ли проблема. Если да, значит, проблема в теме. Если нет, попробуйте активировать плагины по одному и тестировать после каждой активации, чтобы определить, какой из них вызывает перенаправление.
Одно из действий, которое вы можете выполнить — это проверить ваш сайт с помощью http://sucuri.net/, чтобы убедиться, что нет поврежденных файлов. Если все чисто, проблема становится более сложной для отладки.

Спасибо за ответ. Я новичок в этом! Извините, как мне удалить этот файл, и нигде не упоминается о его замене. Как обновить опцию постоянных ссылок?
