При установке движка WordPress на своём домашнем сервере или VPS зачастую возникают проблемы с переходами по постоянным ссылкам на страницах. По умолчанию движек настроен на вид ссылок такого типа:

/?p=123

Вебмастер настраивает сайт на отображение ЧПУ вот такого вида, пример:

/sample-post/

/%postname%/

/2015/02/sample-post/

и ссылки перестают работать, происходит отображение 404 страницы.

Есть стандартное решение описаное в WiKi WordPress.

Оно заключается в создании файла .htaccess в корневом каталоге, (там где установлен WordPress) и добавить в него нужные правила:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Так же необходимо убедится в том, что у вас включен модуль mod_rewrite.

Сделать это можно используя php функцию phpinfo(); в списке подключенных модулей должен быть mod_rewrite.

Включение модуля команда:

a2enmod rewrite

В файле:

/etc/apache2/sites-available/default

где необходимо заменить AllowOverride None на AllowOverride All

Перезапускаем apache:

/etc/init.d/apache2 restart

И после всех этих манипуляций мой сайт стал отдавать 403 страницу - Forbbiden.

Нашёл решение, после сумрачных поисков, внести в файл .htaccess опцию:

Options +FollowSymlinks

Получился такой файл:

# BEGIN WordPress

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Теперь всё работает нормально, переходы по всем ссылкам есть.

От dmitry

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *