2016-01-20 9 views
0

Изменения были изменены на новый сервер и перенесены на несколько сайтов Wordpress. После миграции я обнаружил, что ссылки в меню больше не работают. Однако контент есть.Проблема с Wordpress после миграции

Я удалил файл htaccess и изменил постоянную ссылку на значение по умолчанию «plain». Это сработало хорошо. Однако теперь мой сайт работает с ссылками на меню, такими как domain.com/?page_id=29.

На старом сервере я всегда использовал формат domain.com/post_name. Поэтому я снова удалил файл htaccess и изменил постоянную ссылку на post_name, но при нажатии на ссылку в меню всегда появляется ошибка 404. Проверено, что включен phpinfo() и mod_rewrite.

файл .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> 

Как получить обратно работать ссылки меню, когда Permalinks устанавливаются postname?

+0

Прежде всего, вам нужно проверить, если mod_apache является на новом сервере., затем измените константы на ваш предпочтительный вариант. Это должно быть сделано. –

+0

Вы имеете в виду mod_rewrite? В этом случае я включил это уже без везения. – wiwa1978

ответ

1

В Linux, для того, чтобы расслабить доступ к корневому документу, вы должны отредактировать файл: /etc/httpd/conf/httpd.conf

В случае, если вы находитесь на Ubuntu, отредактировать файл/и т.д./apache2/apache2.конф (здесь мы имеем пример/вар/WWW)

И в зависимости от того, какого уровня каталога вы хотите отдохнуть доступ, вы должны изменить директиву

AllowOverride None 

в

AllowOverride All 

Итак, если вы хотите разрешить доступ к файлам на каталог/вар/WWW/HTML, вы должны изменить следующие строки из:

<Directory "/var/www/html"> 
AllowOverride None 
</Directory> 

в

<Directory "/var/www/html"> 
AllowOverride All 
</Directory> 
0

Reference Docs для вас: https://codex.wordpress.org/Using_Permalinks

Я принимаю его, когда вы говорите, что меню lnks перестал работать снова вы хотите сказать, что ссылка меняется штраф в новом формате Постоянная ссылка на http://domain/post_name правой?

Если это так, вы делаете ложь в mod_redirect. Либо в .htaccess в docroot (включение и правильные правила переадресации), либо в файле конфигурации вашего веб-сервера apache. возможно, apache даже не поддерживает mod_redirect. если, однако, возможно, будет включен сервер CPANEL mod_redirect.

+0

Я уточнил исходное сообщение. Я включил mod_rewrite, используя «sudo a2enmod rewrite». В моем phpinfo() я вижу, что модуль загружен. Сказав это, проблема остается. Нажатие на пункт меню даст мне не найденную ошибку. Работает постоянная ссылка на «уродливую» настройку. Но это не то, что я хочу ... – wiwa1978

0

Проблема также может быть путем для файлов. Вы переносите учетную запись с тем же именем пользователя и тем же путем, что и на старом сервере?

Если путь отличается от старого сервера, возьмите дамп mysql из db, найдите путь и измените его на правильный новый путь.

Если пути одинаковы, вы можете исправить эту проблему, просто сбросив постоянные ссылки, то есть сначала измените постоянные ссылки на какой-то другой, чем текущий, и сохраните, а затем сразу же вернитесь к старой, которая использовалась раньше, а затем снова сохраните его. Это работало для меня в прошлом.

Смежные вопросы