【发布时间】:2017-08-21 13:07:44
【问题描述】:
我正在尝试使用 Godaddy 服务器构建一个静态网站。我在 public_html 中创建了一个说 Manage 的文件夹,其中有一个 index.php。现在,当我尝试使用 URL“www.mysite.com/Manage/index.php”在浏览器上打开此页面时,它显示错误,找不到文件,404 错误。那么我可能会犯什么错误?
【问题讨论】:
标签: deployment web subdirectory
我正在尝试使用 Godaddy 服务器构建一个静态网站。我在 public_html 中创建了一个说 Manage 的文件夹,其中有一个 index.php。现在,当我尝试使用 URL“www.mysite.com/Manage/index.php”在浏览器上打开此页面时,它显示错误,找不到文件,404 错误。那么我可能会犯什么错误?
【问题讨论】:
标签: deployment web subdirectory
可能有几个原因。如果您的服务器使用基于 RHEL 的发行版,则需要编辑主 Apache 配置文件 /etc/httpd/conf.d/userdir.conf 并更改两件事:
将UserDir disabled 更改为UserDir disabled root
如果 #UserDir public_html 被评论,则将其更改为 UserDir public_html
这告诉 Apache 包含每个用户的 html 文件的目录是他们的主目录的一个子目录,称为 public_html。
您可能还需要更改用户目录和public_html 目录的权限,以允许 Apache 在其中读取和执行。为此,请运行以下命令:
sudo chmod o+x /home/myusername
sudo chmod o+rx /home/myusername/public_html
重新启动 Apache 看看它是否有效。
这些知识的来源不是我的大脑。来自华盛顿大学圣路易斯分校CSE 330快速原型开发的精彩课程。
【讨论】:
首先查看error.log。如果使用 nginx 在 /var/log/nginx 中查找,如果 httpd 在 /var/log/httpd 中。
“静态”是什么意思? PHP 预处理器从 *.php 文件生成 html,因此您的 index.php 不是静态的。
对于这种情况,您需要设置LAMP 堆栈。
【讨论】: