Назад | Перейти на главную страницу

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

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

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

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

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

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


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

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

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


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

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