Wordpress パーマリンク設定ページで .htaccess を更新できない

Wordpress パーマリンク設定ページで .htaccess を更新できない

本当にありがとうこの問題の解決にご協力いただきありがとうございます。

私は共有 Bluehost ホスティング アカウントでホストされている Wordpress ブログを持っていました。現在、Amazon Linux AMI を使用して AWS Elastic Beanstalk で作成された EC2 インスタンスに手動で移行中です。SSH を使用して、次の操作を実行しました。

  1. データベースをエクスポートし、新しいサーバーのMySQLデータベースにインポートしました
  2. 所有権がec2-user:ec2-userであるWordpressファイルすべてをコピーしました
  3. すべてのディレクトリ権限を 755 に設定し、すべてのファイル権限を 644 に設定します。

この時点で、ブログのインデックスは完全に正常に読み込まれました。しかし、以前にきれいなパーマリンクを使用していた投稿の 1 つをクリックしようとしたとき、Wordpress はそれを読み込むことができませんでした。これは、mod_rewrite を使用した .htaccess ファイルがなかったためです (元の .htaccess を転送することはできません)。そこで、管理セクションにログインし、[設定] > [パーマリンク] で .htaccess ファイルを再作成しようとしました。しかし、Wordpress から次のメッセージを受け取りました。「.htaccess ファイルが書き込み可能であれば、これを自動的に実行できますが、書き込み可能ではないため、.htaccess ファイルには mod_rewrite ルールを含める必要があります。」この時点で、適切な権限を持つ空の .htaccess ファイルを作成し、再試行しましたが、結果は同じでした。

また、この時点で、管理セクション内で、メディア セクションに写真をアップロードできないことにも気付きました。そこから、所有権の問題だとわかりました。


上記の 2 つの問題に基づいて、 Wordpress が使用しているユーザーを特定するためにwhoamiphp を使用しshell_exec()、そのユーザーwebappが使用されていることを知りましたwebapp。Elastic Beanstalk は、コンソール経由で新しいコード バージョンをアップロードおよびデプロイするために使用するユーザーを作成します (ただし、ec2-user アカウントを使用して SFTP 経由でコードを手動でアップロードしています)。ここから、次の操作を行います。

  1. すべてのWordpressファイル/ディレクトリの所有権をwebapp:ec2-userに変更しました
  2. すべてのディレクトリ権限を 775 に設定し、すべてのファイル権限を 664 に設定します (ec2-user として書き込みもできるようにするため)

この時点で、メディアのアップロードは完璧に機能していました。しかし、Wordpress は依然として .htaccess ファイルを作成/書き込みできませんでした。この時点でイライラしたので、権限を 777 に設定して、それが機能するかどうかを確認しましたが、それでも機能しませんでした。


どのようなご助力でも大歓迎です。また、お時間をいただきありがとうございました。

答え1

Redhat/Centos のバージョン? 現在、SELinux はデフォルトで有効になっており、Web サーバー プロセスを厳しく制限しています。ls -alZ .htaccess? の出力は、古い UNIX 権限に関係なく、selinux タイプのラベルが付けられたファイルのみがhttpd_sys_rw_content_tWeb サーバー プロセスによって変更できますrwxchcon -t httpd_sys_rw_content_t .htaccess変更するには を使用します。

関連情報