WordPress永久链接设置页面无法更新.htaccess

非常感谢花时间来帮助我解决这个问题:

我有一个在共享Bluehost托pipe帐户上托pipe的WordPress博客。 我目前正在使用Amazon Linux AMI手动将其迁移到AWS Elastic Beanstalk创build的EC2实例。 使用SSH,我:

  1. 将数据库导出并导入到新服务器的MySQL数据库中
  2. 以所有权作为ec2-user:ec2-user复制所有的Wordpress文件
  3. 将所有目录权限设置为755,将所有文件权限设置为644。

在这一点上,博客的索引加载完全正常。 然而,当我试图点击以前使用漂亮的固定链接的文章之一,Wordpress无法加载它,因为我没有使用mod_rewrite的.htaccess文件(请注意,传输原始的.htaccess不是一个选项) 。 所以我login到pipe理部分,在Settings> Permalinks下,我试图重新创build.htaccess文件。 不过,我从Wordpress收到这个消息:“如果你的.htaccess文件是可写的,我们可以自动完成,但是这不是你的.htaccess文件中应该有的mod_rewrite规则。 我用适当的权限创build了一个空白的.htaccess文件,并重试,但结果相同。

在这一点上我也注意到,在pipe理部分,我无法上传图片到媒体部分。 从那里,我认为这是一个所有权问题。

基于上述两个问题,我通过php的shell_exec()来使用whoami来确定哪个用户的WordPress正在使用,并了解到正在使用用户的webapp 。 Elastic Beanstalk创buildwebapp用户,用于通过控制台上传和部署新的代码版本(不过,我通过使用ec2用户帐户通过SFTP手动上传代码)。 从这里我:

  1. 将所有的Wordpress文件/目录所有权更改为webapp:ec2-user
  2. 将所有目录权限设置为775,将所有文件权限设置为664(这样,我作为ec2用户也可以写入)

在这一点上,媒体上传工作完美。 但是,Wordpress仍然不能创build/写入.htaccess文件。 沮丧在这一点上,我设置权限777只是为了看看是否会工作,但也没有工作。

任何帮助是极大的赞赏。 再次感谢您的时间!

Redhat / Centos的版本? 现在,SELinux默认启用,并严格限制Web服务器进程。 输出ls -alZ .htaccess ? 只有使用selinuxtypeshttpd_sys_rw_content_t标记的文件才能由Web服务器进程进行更改,而不考虑旧的rwx unix权限。 使用chcon -t httpd_sys_rw_content_t .htaccess进行更改。