- Вопрос или проблема
- Ответ или решение
- Проблема с доступом к страницам WordPress после переноса на локальный сервер (XAMPP)
- 1. Проверьте настройки .htaccess
- 2. Настройка Apache
- 3. Проверка настроек базы данных WordPress
- 4. Проверка структуры постоянных ссылок
- 5. Использование фальшивого доменного имени
- 6. Поиск и устранение 301 редиректов
- Заключение
Вопрос или проблема
Я действительно испытываю трудности с переносом WordPress с внешнего хостинга на мой локальный хост (xampp). После двух дней попыток сделать это, я сейчас на этапе, когда могу получить доступ к главной странице и панели администрирования, но ничего больше.
Я получил доступ к постоянным ссылкам и нажал сохранить, как показано ниже:
Вот файл .htaccess, который был сгенерирован:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /Blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /Blog/index.php [L]
</IfModule>
# END WordPress
Вот конфигурация apache:
Options All
AllowOverride All
и:
LoadModule rewrite_module modules/mod_rewrite.so
Например, когда я пытаюсь получить доступ: http://ianscomputer/Blog/about-2/; я вижу это в Fiddler:
В чем проблема?
Обновление
Вот еще несколько настроек:
@w0051977 после повторного чтения этой проблемы, я начал думать о чем-то, что может быть настоящей проблемой; ваше “имя домена”.
Пожалуйста, обратите внимание: я всегда работаю на Windows, поэтому я могу ошибаться в некоторых или во всех областях. Я пытаюсь использовать свои лучшие предположения здесь.
Во время моих тестовых сред (локально), у меня всегда есть имя домена верхнего уровня, например, ianscomputer.internal. Пока я изучал WP, у меня были некоторые трудности, потому что я использовал только localhost. Честно говоря, я не уделил времени, чтобы понять, почему, поэтому я просто создал фейковое “полное имя домена” и продолжил.
На основе вышеизложенного я сделал быстрый поиск в Google и наткнулся на этот пост: Фальсификация имени домена верхнего уровня для локальной разработки с Apache, который говорит:
Не каждая CMS (смотрю на вас, WordPress!) имеет относительные пути к своему контенту.
Так что я бы сказал:
- Следуйте шагам, чтобы создать фейковое имя домена верхнего уровня. (Супер предположение x3)
- Проверьте настройки Apache, как предложено в этом посте: [Как отследить Apache 301 Мoved Permanently?]https://serverfault.com/questions/361165/how-to-trace-apache-301-moved-permanently.
- Избавьтесь от :80 во всех настройках. Когда используется http:// перед доменом, это указывается. (Личное мнение)
- Во время тестирования измените структуру постоянных ссылок на По умолчанию. Это упростит вашу отладку. (Личное мнение)
Проверьте вышеизложенное и дайте нам знать, что работает, а что нет.
Надеюсь, это поможет и удачи.
Ответ или решение
Проблема с доступом к страницам WordPress после переноса на локальный сервер (XAMPP)
Перенос WordPress с внешнего хоста на локальный сервер может вызывать различные проблемы, особенно когда речь идет о доступе к страницам, кроме главной и админпанели. Вы уже на правильном пути, имея доступ к главной странице и административной панели, но проблема заключается в том, что другие страницы недоступны. Давайте рассмотрим потенциальные причины и способы их устранения.
1. Проверьте настройки .htaccess
Ваш файл .htaccess
содержит правила для модификации URL-адресов, что критично для работы постоянных ссылок в WordPress. На текущий момент файл выглядит следующим образом:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /Blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /Blog/index.php [L]
</IfModule>
# END WordPress
Убедитесь, что файл .htaccess
находится в корневом каталоге вашего блога и что Apache настроен на использование перезаписи. Проверьте, что даны права для чтения данного файла и что настройки вашего сервера включают директиву AllowOverride All
.
2. Настройка Apache
Ваши текущие настройки Apache выглядят корректно, поскольку вы используете:
LoadModule rewrite_module modules/mod_rewrite.so
И
Options All
AllowOverride All
Убедитесь, что данные настройки загружаются, и модуль переписывания активирован. Вы можете протестировать это, создав простой .htaccess
файл с простым правилом и убедившись, что оно работает.
3. Проверка настроек базы данных WordPress
Когда вы переносите сайт, важно изменить URL-адреса в базе данных. Убедитесь, что вы обновили следующие параметры в таблице wp_options
:
siteurl
home
Эти значения должны указывать на ваш локальный адрес, например, http://ianscomputer/Blog
.
Вы можете использовать SQL-запрос для обновления:
UPDATE wp_options SET option_value = 'http://ianscomputer/Blog' WHERE option_name = 'siteurl' OR option_name = 'home';
4. Проверка структуры постоянных ссылок
Если после вышеперечисленных шагов проблема не решилась, попробуйте временно переключить структуру постоянных ссылок на «По умолчанию». Это можно сделать в административной панели WordPress, перейдя в Настройки -> Постоянные ссылки. Сохраните изменения и проверьте доступ к страницам.
5. Использование фальшивого доменного имени
Как вы отметили, использование localhost
может вызвать трудности у WordPress с определением путей. Рекомендуется создать фальшивое доменное имя, например ianscomputer.local
, и внести соответствующие изменения в файл hosts
вашей операционной системы, добавив:
127.0.0.1 ianscomputer.local
Затем попробуйте открыть ваш сайт по этому новому доменному имени.
6. Поиск и устранение 301 редиректов
Если после этих шагов проблема все еще сохраняется, используйте инструменты разработчика в браузере (например, Fiddler или Chrome DevTools), чтобы проверить, нет ли нежелательных 301 редиректов, которые могут мешать загрузке страниц.
Заключение
Надеюсь, что предложенные шаги помогут вам решить проблему доступа к страницам вашего сайта WordPress на локальном сервере. Настройка локального окружения может быть сложной задачей, но с правильными инструментами и шагами, вы сможете установить рабочую версию вашего сайта. Если у вас появятся дополнительные вопросы или возникнут трудности, не стесняйтесь возвращаться за помощью. Удачи!