WordPress Пермалинк 404 Не найдено

Вопрос или проблема

Я установил последнюю версию WordPress на своем сервере EC2 с Ubuntu 13.1. После того как я изменил постоянную ссылку на /%post-name%/, я сталкиваюсь с ошибкой 404 не найдено для постов. Я следовал почти всем рекомендациям из этой статьи (Страница не найдена – Постоянная ссылка WordPress — FelfelWorld.com), но все еще имею эту проблему.

Для справки, я помню, что отключил листинг директорий для своего сервера Apache с помощью SELinux (если я правильно помню)

Звучит как проблема с htaccess… попробуйте создать файл .htaccess в корне 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

из Использование постоянных ссылок

Убедитесь, что ваш веб-сервер имеет включенный модуль перезаписи. Например, если вы используете Wamp и Apache: Нажмите на значок Wamp в трее, Apache > Модули Apache > модуль перезаписи (убедитесь, что он выбран).

http://www.felfelworld.com/2013/02/12/page-not-found-permalink-wordpress/

Ответ или решение

Ошибка 404 Not Found при использовании постоянных ссылок в WordPress

При установке WordPress на сервер Amazon EC2 с операционной системой Ubuntu 13.1, вы можете столкнуться с проблемой 404 Not Found для постов после изменения постоянных ссылок на формат /%post-name%/. Эта ситуация, как правило, связана с настройками веб-сервера или файла .htaccess. Рассмотрим шаги по устранению данной ошибки.

1. Проверьте файл .htaccess

Файл .htaccess в корневой директории вашего WordPress является ключевым для настройки постоянных ссылок. Убедитесь, что в вашем .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

Если у вас отсутствует или неправильно настроен этот файл, сервер не сможет правильно обрабатывать запросы к постам, и вы получите ошибку 404.

2. Проверьте наличие модуля mod_rewrite

Для корректной работы постоянных ссылок необходим модуль mod_rewrite. Чтобы убедиться, что он включен, выполните следующие команды в терминале:

sudo a2enmod rewrite
sudo systemctl restart apache2

Это включит модуль и перезапустит Apache, что необходимо для применения изменений.

3. Проверьте настройки виртуального хоста

Убедитесь, что настройки вашего виртуального хоста (обычно в файле /etc/apache2/sites-available/000-default.conf) допускают использование .htaccess. Вам нужно добавить следующие строки:

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

Здесь /var/www/html — это путь к директории, где установлен ваш WordPress. После изменений не забудьте перезапустить Apache:

sudo systemctl restart apache2

4. Проверка SELinux

Вы упомянули, что отключали перечисление директорий с помощью SELinux. Важно также убедиться, что настройки SELinux не блокируют работу Apache. Если SELinux включен, вы можете проверить его состояние с помощью команды:

sestatus

Если SELinux активен, попробуйте временно отключить его для тестирования:

sudo setenforce 0

Если ошибка исчезла, возможно, потребуется настроить SELinux для корректной работы с вашими правилами.

5. Проверьте права доступа к файлам и директориям

Убедитесь, что ваш веб-сервер (обычно это пользователь www-data в Ubuntu) имеет необходимые права на чтение и выполнение файлов и директорий WordPress:

sudo chown -R www-data:www-data /var/www/html/*
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;

6. Кэш и конфликты плагинов

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

Заключение

Ошибка 404 Not Found при использовании постоянных ссылок в WordPress может быть вызвана несколькими факторами, начиная от некорректного файла .htaccess и заканчивая проблемами с модулями Apache. Следуя представленным шагам, вы сможете успешно устранить эту проблему и настроить постоянные ссылки, улучшая SEO и пользовательский опыт на вашем сайте. Не забывайте о регулярном обновлении и резервном копировании данных вашего WordPress сайта, чтобы избежать подобных ситуаций в будущем.

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

Капча загружается...