Страница настроек постоянных ссылок Wordpress не может обновить .htaccess

Страница настроек постоянных ссылок Wordpress не может обновить .htaccess

спасибоза то, что нашли время помочь мне с этой проблемой:

У меня был блог Wordpress, размещенный на общем хостинговом аккаунте Bluehost. В настоящее время я вручную переношу его на созданный в AWS Elastic Beanstalk экземпляр EC2 с использованием Amazon Linux AMI. Используя SSH, я:

  1. экспортировал и импортировал базу данных в базу данных MySQL нового сервера
  2. скопированы все файлы Wordpress с владельцем ec2-user:ec2-user
  3. установите для всех каталогов разрешения 755, а для всех файлов — 644.

На этом этапе индекс блога загружался совершенно нормально. Однако, когда я попытался нажать на одну из записей, которая ранее использовала красивые постоянные ссылки, Wordpress не смог ее загрузить, потому что у меня не было файла .htaccess с использованием mod_rewrite (обратите внимание, что перенос оригинального .htaccess невозможен). Поэтому я вошел в раздел администратора и в разделе Настройки > Постоянные ссылки попытался воссоздать файл .htaccess. Однако я получил следующее сообщение от Wordpress: «Если бы ваш файл .htaccess был доступен для записи, мы могли бы сделать это автоматически, но это не так, поэтому вот правила mod_rewrite, которые вы должны иметь в своем файле .htaccess». На этом этапе я создал пустой файл .htaccess с надлежащими разрешениями и повторил попытку, но с тем же результатом.

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


Основываясь на двух вышеупомянутых проблемах, я использовал whoamiphp, shell_exec()чтобы определить, какой пользователь использует Wordpress, и узнал, что пользователь webappиспользуется. Elastic Beanstalk создает webappпользователя для использования для загрузки и развертывания новых версий кода через консоль (однако я вручную загружаю код через SFTP, используя учетную запись ec2-user). Отсюда я:

  1. изменил владельца всех файлов/каталогов Wordpress на webapp:ec2-user
  2. установите для всех каталогов права доступа 775, а для всех файлов — 664 (чтобы я, как пользователь ec2, также мог писать в них)

На этом этапе загрузка медиа работала отлично. Однако Wordpress все еще не мог создать/записать в файл .htaccess. Разочарованный на этом этапе, я установил права доступа 777, просто чтобы посмотреть, сработает ли это, но и это не сработало.


Любая помощь будет высоко оценена. И еще раз спасибо за ваше время!

решение1

Версии Redhat/Centos? В настоящее время SELinux включен по умолчанию и жестко ограничивает процесс веб-сервера. Вывод ls -alZ .htaccess? Только файлы, помеченные типом selinux, httpd_sys_rw_content_tмогут быть изменены процессом веб-сервера, независимо от старых rwxразрешений unix. Используйте chcon -t httpd_sys_rw_content_t .htaccessдля изменения.

Связанный контент