Php Codeigniter3在服务器部署后提供404(不读取应用程序文件夹)
看到了一些关于这个主题的问题,所有的问题似乎都与.htaccess有关——我已经在下面贴了我的问题 .htaccess(存储在应用程序上方的根web文件夹中): SSL证书安装正确,测试正常。还使用交换到http的基本url和端口80的vhost设置进行了测试。通配符证书也在没有codeigniter的不同子域上进行了测试,工作正常 返回404错误的所有页面。Apache访问日志显示命中的端点不正确 Apache错误日志: [core:info][pid 26683][client x.x.x.x:53318]AH00128:文件不存在 存在:/var/www/mysite/Account/login 这是不正确的端点-应点击/Application/Account/login以加载帐户控制器。这只发生在current服务器设置上(标准LAMP堆栈上的Ubuntu 16.04)Php Codeigniter3在服务器部署后提供404(不读取应用程序文件夹),php,codeigniter,Php,Codeigniter,看到了一些关于这个主题的问题,所有的问题似乎都与.htaccess有关——我已经在下面贴了我的问题 .htaccess(存储在应用程序上方的根web文件夹中): SSL证书安装正确,测试正常。还使用交换到http的基本url和端口80的vhost设置进行了测试。通配符证书也在没有codeigniter的不同子域上进行了测试,工作正常 返回404错误的所有页面。Apache访问日志显示命中的端点不正确 Apache错误日志: [core:info][pid 26683][client x.x.x.
但是,如果我将vhost设置为从应用程序文件夹开始,这显然会导致我丢失。htaccess、assets、images等。有人知道为什么CI似乎在根目录下查找控制器吗?请确保vhost设置正确。键入错误会对虚拟主机造成严重后果,而控制器完全错误的位置路径可能表明存在vhost设置问题 您可以通过在浏览器地址中包含index.php来确认.htaccess是否正常工作,例如
example.com/index.php/account/login
如果你不使用index.php,那么mod\u rewrite
不是“开”的,就是你的虚拟主机坏了。
- 检查您的类名和类文件名
- 类名以类似“Functions”的大写字母开头
- 类文件名以小写字母开头,如“函数”
- 控制器名称与类名相同,如“Home\u Controller=>
Home_Controller.php“
- 在项目中包含库时,应使用
小写字母。像这样,李>
Functions.php=>this->load->library(“函数”);
$this->functions->yourMethod() 请尝试从$config['index_page']中删除index.php,以确认vhost的根(公共)目录是/var/www/mysite/和index.php plus.htaccess都在该文件夹中。@evisempire尝试了这一点,还尝试了设置base_url=''。没有区别。@d必须设置正确的朋友$config['base\u url']
。虽然您的问题与“索引页面”无关,但您应该这样设置:`$config['index\u page']='';
$config['base_url'] = 'https://'.$_SERVER['HTTP_HOST'].'/';
$config['index_page'] = 'index.php';
$config['uri_protocol'] = 'REQUEST_URI';
example.com/index.php/account/login