非常感谢花时间来帮助我解决这个问题:
我有一个在共享Bluehost托pipe帐户上托pipe的WordPress博客。 我目前正在使用Amazon Linux AMI手动将其迁移到AWS Elastic Beanstalk创build的EC2实例。 使用SSH,我:
在这一点上,博客的索引加载完全正常。 然而,当我试图点击以前使用漂亮的固定链接的文章之一,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手动上传代码)。 从这里我:
在这一点上,媒体上传工作完美。 但是,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进行更改。