Почему я получаю 404 на постоянные ссылки LAMP (используя WordPress)
Я работаю над сайтом на сервере Ubuntu (amazone), и я получаю 404-е входящие страницы.
Я дам всю информацию, которую я могу относительно проблемы.
На WordPress
Обновить страницу:
Я следовал этому уроку:
https://wordpress.org/support/topic/solved-permalinks-working-in-apache2-ubuntu-1010?replies=6
И ничего не помогло.
Я нашел это сообщение https://wordpress.org/support/topic/permalink-does-not-work-apart-from-default?replies=12 - поэтому я вошел, я ввел файл: /etc/apache2/sites-enabled/000-default.conf
и не нашел AllowOverride None
изменить на AllowOverride All
Поэтому я добавил это сам здесь:
Перезапустил apache, и я получил ошибку. Я обновил сайт и обнаружил, что он не работает..
расстегивать AllowOverride All
от 000-default.conf
Какое решение для этого? Я никогда не работал с серверами Linux, поэтому мне нужен очень четкий и понятный ответ, пожалуйста.
Кстати, это то, что WP генерирует в моем файле.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
2 ответа
Откройте терминал и введите:
sudo gedit /etc/apache2/apache2.conf
Найдите это:
<Directory /var/www/>
+ Изменить AllowOverride None
в AllowOverride All
Затем запустите:
sudo a2enmod rewrite
Не забудьте перезапустить apache2:
sudo service apache2 restart
Вы можете проверить, существует ли файл htaccess в вашем домашнем каталоге WordPress, как показано выше. Если его там нет, создайте его:
$ sudo nano /var/www/html/.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
Нажмите ctrl+x и нажмите y, чтобы сохранить файл. И перезапустите Apache
$ sudo service apache2 restart
Вы бы хотели, чтобы Apache следовал за вашим файлом.htaccess. Вы можете сделать это, отредактировав файл apache.conf
$sudo nano /etc/apache2/apache.conf
Прокрутите вниз до строки. По умолчанию это будет:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
измените значение AllowOverride на All, так что теперь оно становится:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Нажмите ctrl+x и нажмите y, чтобы сохранить файл конфигурации. Чтобы внести эти изменения в сервер, сначала включите mod_rewrite.
$ sudo a2enmod rewrite
А затем перезапустите сервер
$ sudo service apache2 restart
Готово!
Источник: https://www.wst.space/riddling-with-wordpress-permalink-setup-issues/