【发布时间】:2018-12-14 01:24:26
【问题描述】:
我有一个 Ubuntu 服务器,上面有 2 个网站。我可以导航到一个,但不能导航到另一个。以下是详细信息:
每个网站都有一个与组和子文件夹同名的用户。网站托管在
/home/site1/public_html 和
/home/site2/public_html
现在在我的情况下,site1 是从子域调用的,但它工作得很好,所以如果我导航到 site1.mydomain.com 它会打开 CodeIgniter 页面,我可以毫无问题地导航(我在这里有 .htaccess 来摆脱url中的index.php)。
但是,当我尝试导航到指向 /home/site2/public_html 的 www.site2.com 时,它给了我一个 404 错误。所以为了排除故障,我添加了一个/home/site2/public_html/index.html 简单文件,如果我导航到www.site2.com,我可以看到它,但是如果我导航到www.site2.com/index.html,我看不到它。另外,在我的情况下,我有一个子文件夹(与 site =“site2”同名),其中 CodeIgniter 代码/文件夹结构是,我根本无法从代码点火器中获取 index.php(它的路径是/home/site2/public_html/site2/index.php)。我尝试以www.site2.com/site2/index.php 或www.site2.com/index.php 导航,有或没有htaccess 文件,但没有任何帮助。我试图删除这个站点中的.htaccess,我试图在/home/site2/public_html/site2 中创建一个test.html,但我无法导航到它,如果我这样做www.site2.com/site2/test.html,我会得到404
在用户访问方面我使用了$ chmod -R 755 /home/site2
这是我缺少的访问权限吗?还是与其他虚拟文件夹中的其他 .htaccess 冲突?没有线索......我只是没有想法
V 主机设置
ServerName site1.mydomain.com
ServerAlias site1.mydomain.com
DocumentRoot "/home/site1/public_html"
<Directory "/home/site1/public_html">
AllowOverride All
allow from all
Options Indexes FollowSymLinks MultiViews
Require all granted
</Directory>
对于我遇到的问题
ServerName www.site2.com
ServerAlias www.site2.com
DocumentRoot "/home/site2/public_html"
<Directory "/home/site2/public_html">
AllowOverride All
allow from all
Options Indexes FollowSymLinks MultiViews
Require all granted
</Directory>
注意:我刚刚创建了一个子域 site2.mydomain.com(在 FatCow 注册的域),它似乎正在工作,只有当我使用 www.site2.com 调用它时它才不起作用(在 GoDaddy 下注册 - 这给出了GoDaddy 的“目的地未知”页面,我认为这是一个 404 错误,并且总是要求我接受 cookie ......而且我正在节食:P)
提前谢谢大家!
【问题讨论】:
-
你应该发布你的虚拟主机设置...
-
虚拟主机设置在(见问题的最后一部分)
-
看到这个link也许你需要在linux中修改你的根文件夹
-
如果您查看 V Host 设置,您可以看到我在那里有一个 DocumentRoot,我还尝试在 conf 文件中添加附加条款 - 根据您的链接选项附加参数,仍然没有运气。我不明白为什么它在子域上工作得很好,但现在在域上......我也打电话给 GoDaddy,他们说所有流量都永久定向到我的服务器,不应该有任何 GoDaddy 页面,但它是我看到的 GoDaddy 页面。
-
那么它看起来像一个 dns 问题....(ping www.site2.com 和 ping www.site1.com)他们 ping 相同的 IP 地址吗?
标签: php .htaccess codeigniter http-status-code-404