【发布时间】:2016-09-22 08:31:11
【问题描述】:
我有一个 Codeigniter 3 应用程序。我已经以这种格式正确设置了 base_url:http://subdomain.domain.com/。
我将它的应用程序上传到我们通过 AWS 配置的子域,当我尝试通过以下 url 访问我的登录控制器方法时,我得到一个“404 URL not found on this server”:subdomain.domain.com/users/login .我觉得这很奇怪,因为我认为我的 htaccess 文件是正确的并且看起来像这样:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
我的类名应该是大写的,作为Users,文件名也是大写的:Users.php。
可疑,我将 app 文件夹上传到了一个完全不同的子域,一个通过 Bluehost 托管的个人子域,相应地更改了 base_url,一切正常。没有404或任何东西。
我花了很多时间研究 stackoverflow,虽然我看到了一些建议修复的问题和答案,但我遵循了这些问题并没有解决我的问题,这让我相信这可能是一个问题我们的 AWS 盒子就设置好了。它在 ubuntu 14.04 上,我创建了一个 subdomain.conf 作为创建子域的过程的一部分。我们通过 GoDaddy 获得了该域,我在其中为子域添加了 A HOST。
非常感谢任何见解!
【问题讨论】:
-
查看一个普通的 html 文件是否在子域上工作,以验证它是否工作。
-
什么是错误?还要检查 apache 日志。
-
@cartalot 纯 html 文件有效。加载 index.php 的控制器方法的默认路由也可以正常工作。只有当我尝试使用其他控制器方法或指向这些方法的 URL 时才能导航。检查日志,找不到任何东西。我所看到的只是在此服务器上找不到 404 URL。我注意到我的 .conf 文件没有正确的路径,所以我修复了它,但仍然没有。
标签: php apache .htaccess codeigniter amazon-web-services