Wordpress-Permalink-Einstellungsseite kann .htaccess nicht aktualisieren

Wordpress-Permalink-Einstellungsseite kann .htaccess nicht aktualisieren

Vielen Dankfür die Zeit, die Sie sich genommen haben, mir bei diesem Problem zu helfen:

Ich hatte ein Wordpress-Blog, das auf einem gemeinsam genutzten Bluehost-Hosting-Konto gehostet wurde. Ich bin gerade dabei, es manuell auf eine von AWS Elastic Beanstalk erstellte EC2-Instanz mit einem Amazon Linux AMI zu migrieren. Mit SSH mache ich Folgendes:

  1. die Datenbank in die MySQL-Datenbank des neuen Servers exportiert und importiert
  2. alle Wordpress-Dateien mit dem Eigentümer ec2-user:ec2-user kopiert
  3. Setzen Sie alle Verzeichnisberechtigungen auf 755 und alle Dateiberechtigungen auf 644.

Zu diesem Zeitpunkt wurde der Index des Blogs vollkommen normal geladen. Als ich jedoch versuchte, auf einen der Beiträge zu klicken, die zuvor hübsche Permalinks verwendet hatten, konnte Wordpress ihn nicht laden, da ich die .htaccess-Datei mit mod_rewrite nicht hatte (bitte beachten Sie, dass das Übertragen der ursprünglichen .htaccess keine Option ist). Also meldete ich mich im Admin-Bereich an und versuchte unter Einstellungen > Permalinks, die .htaccess-Datei neu zu erstellen. Ich erhielt jedoch diese Nachricht von Wordpress: „Wenn Ihre .htaccess-Datei beschreibbar wäre, könnten wir dies automatisch tun, aber das ist nicht der Fall. Daher sind dies die mod_rewrite-Regeln, die Sie in Ihrer .htaccess-Datei haben sollten.“ Ich erstellte zu diesem Zeitpunkt eine leere .htaccess-Datei mit den entsprechenden Berechtigungen und versuchte es erneut, aber mit demselben Ergebnis.

An diesem Punkt bemerkte ich auch, dass ich im Admin-Bereich keine Bilder in den Medienbereich hochladen konnte. Von da an nahm ich an, dass es sich um ein Eigentumsproblem handelte.


Basierend auf den beiden oben genannten Problemen habe ich whoamiüber PHP shell_exec()ermittelt, welchen Benutzer Wordpress verwendet, und festgestellt, dass der Benutzer webappverwendet wurde. Elastic Beanstalk erstellt den webappBenutzer, der zum Hochladen und Bereitstellen neuer Codeversionen über die Konsole verwendet werden soll (ich lade den Code jedoch manuell über SFTP mit dem EC2-Benutzerkonto hoch). Von hier aus mache ich:

  1. alle Wordpress-Datei-/Verzeichnisbesitzer wurden in webapp:ec2-user geändert
  2. setze alle Verzeichnisberechtigungen auf 775 und alle Dateiberechtigungen auf 664 (damit ich als ec2-Benutzer auch darauf schreiben kann)

Zu diesem Zeitpunkt funktionierten Medien-Uploads einwandfrei. Allerdings konnte Wordpress die .htaccess-Datei immer noch nicht erstellen/darin schreiben. Frustriert setzte ich die Berechtigungen auf 777, nur um zu sehen, ob das funktionieren würde, aber das funktionierte auch nicht.


Für jede Hilfe sind wir sehr dankbar. Und nochmals vielen Dank für Ihre Zeit!

Antwort1

Versionen von Redhat/Centos? Heutzutage ist SELinux standardmäßig aktiviert und schränkt den Webserverprozess stark ein. Ausgabe von ls -alZ .htaccess? Nur Dateien, die mit dem Typ Selinux gekennzeichnet sind, httpd_sys_rw_content_tkönnen vom Webserverprozess geändert werden, unabhängig von den alten rwxUnix-Berechtigungen. chcon -t httpd_sys_rw_content_t .htaccessZum Ändern verwenden.

verwandte Informationen