实时服务器显示404错误,但在本地Codeigniter 3上未显示

凯文

我有四个相同的页面,只是在某些标识符上有所不同,但是逻辑非常相同。它们都在localhost上运行。这些页面中的三个页面可以在实时服务器上正常运行,但是其中一个页面由于某些我无法理解的原因而返回404。

我使用XAMPP 3.2.2和Sublime在本地开发它。我将其移至GoDaddy Deluxe Linux直播。我的Codeigniter版本是3.1.10。

我已经尝试过StackOverflow上大多数问题的答案:

  1. 所有控制器和型号名称的首字母均以大写形式出现在文件名和文件内部。

  2. 此处的所有.htaccess代码:https//github.com/tasmanwebsolutions/htaccess_for_codeigniter

  3. 我有两个.htaccess文件,其中一个在应用程序文件夹中,一个在外部。我不知道这是否会使系统感到困惑?但是我在不同主机上的另一个网站具有相同的.htaccess文件,它们可以正常工作。而且无论如何,如果这使系统感到困惑,为什么它只影响四个相同页面之一?

.htaccess在应用程序文件夹之外

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

.htaccess在应用程序文件夹中:

<IfModule authz_core_module>
    Require all denied
</IfModule>
<IfModule !authz_core_module>
    Deny from all
</IfModule>

四个文件的所有控制器都具有以下功能:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
//session_start(); //we need to call PHP's session object to access it through CI

class Question1 extends CI_Controller
{

其余的是正常代码,正在处理这四个文件中的三个。

在配置中。PHP我有:

$config['uri_protocol'] = 'REQUEST_URI';

和base_url很棒。

就我所知,模型和视图都还可以,并且网站的其余部分都可以通过附带的.htaccess正常运行。我的路线也可以。

我现在迷失了。

PS。我有一个自定义的404页面。当我输入Assessment.com/index.php/question1时,它会显示该自定义404页面。但是,当我打开Assessment.com/question1时,它会显示codeigniter自己的404页面(出于某些原因,而不是我的自定义页面)。我认为这说明一切,我只是不知道什么。

编辑

这是我的routes.php:

$route['default_controller'] = 'home';
$route['404_override'] = 'Error404';
$route['translate_uri_dashes'] = TRUE;

我选择不执行$ route ['question1'] =“ Question1”; 在路线上,因为它不会改变任何东西。

凯文

为可能遇到相同问题的其他人回答这个问题。

好的,所以用户不要慌张地建议我在有问题的控制器中仅回显“问题x”,当我这样做时,404错误消失并且回显“问题x”。所以可以肯定的是问题出在我的控制器上,而不是我的例程或.htaccess文件。

现在,此控制器的设计方式是,它在显示任何内容之前先从数据库中调用一个ID。在回显“问题x”之后,我意识到它从数据库中调用的ID的值为零。因此,毫不奇怪,从控制器的角度来看,该页面不存在!因此是404。

现在,我通过从数据库中更新该表并为ID提供一个它本来应该具有的值来修复它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

自定义 404 未显示在实时服务器上的 Codeigniter 中

WordPress从本地主机迁移到实时服务器后,图像未显示错误

angular 应用程序在本地运行,但在实时服务器上仅显示文件列表

图像未显示在实时服务器上

WCF XML 信息未显示在实时服务器上

jekyll帖子显示在本地服务器上,但未实时显示

在服务器上的Codeigniter中加入显示错误

D3地图未显示在本地服务器上的浏览器中

Python模块random在本地服务器上没有属性选择,但在实时服务器上没有

使用Codeigniter的Apache服务器上的错误404

自定义警报标记助手未显示在实时服务器上

内部错误500:服务器中的IIS8错误,但在浏览器中的网页上未显示错误详细信息

css 背景图像未在 chrome 中显示,但在 atom 实时服务器上工作

来自S3存储桶的图像未显示在服务器上

上载在线服务器时,CodeIgniter项目显示错误

如何在服务器上显示实时JSON数据

RedirectPermanent在本地服务器上永久工作,但在远程服务器上给出错误500.19

Wildfly服务器本地服务器调试面板显示错误“服务器配置文件未启用http连接器”

本地文件未显示,Apache服务器

在本地但在服务器上完美运行:无法加载资源:500(内部服务器错误)

JSON文件未显示在Godaddy服务器上

Django:部署服务器上未显示静态文件

反应组件未显示在服务器上

为什么Java 8 Instant.now()在本地服务器上显示错误的UTC?

AJAX 调用在服务器上引发 500 错误,但在本地工作

grpc服务器显示“未实现的服务错误”

使用 php codeigniter 和 filezilla 在实时服务器上重定向错误

Refreshin角构建在Apache服务器上显示404找不到错误

php -S localhost:8888在终端中创建本地服务器,但浏览器显示404