重定向到PHP codeigniter中的自定义设计500错误页面
我在电子商务网站上工作,在PHP中使用CodeIgniter框架。我有两个面板:1)前台和2)管理员 在页面加载或URL重定向过程中,如果发生“内部服务器错误”,我希望显示我的自定义设计页面500_Error_admin.php(管理员)和500_Error_front.php(前台用户界面) 让我澄清一下500_error_admin.php和500_error_front.php这两个页面都有不同的设计 我尝试了这个代码,但没有成功 .htaccess重定向到PHP codeigniter中的自定义设计500错误页面,php,.htaccess,codeigniter-3,Php,.htaccess,Codeigniter 3,我在电子商务网站上工作,在PHP中使用CodeIgniter框架。我有两个面板:1)前台和2)管理员 在页面加载或URL重定向过程中,如果发生“内部服务器错误”,我希望显示我的自定义设计页面500_Error_admin.php(管理员)和500_Error_front.php(前台用户界面) 让我澄清一下500_error_admin.php和500_error_front.php这两个页面都有不同的设计 我尝试了这个代码,但没有成功 .htaccess <IfModule mod_re
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
</IfModule>
<IfModule !mod_rewrite.c>
#Directly give the path of page
ErrorDocument 500 http://localhost/myproject/errors/500_admin.php
#Also try with create controller and call method
#ErrorDocument 500 http://localhost/myproject/admin/Error/show_500
</IfModule>
这在我寻找的codeigniter中是可能的吗
请建议我,如何使用其他方法进行存档?您可以使用owerride core Exption controller对管理端和客户端进行存档,请按照给定的步骤进行:
myproject/application/config/database.php
SET $db['default']['db_debug'] to FALSE instead of TRUE .
$db['default']['db_debug'] = FALSE;
步骤:1添加子类前缀:$config['subclass_prefix']='MY_';在配置文件(system/application/config/config.php)中
步骤:2在您的目录(系统/应用程序/库)中创建MY_Exceptions.php文件并添加以下代码
class MY_Exceptions extends CI_Exceptions{
function MY_Exceptions(){
parent::CI_Exceptions();
}
function show_404($page=''){
$this->config =& get_config();
$base_url = $this->config['base_url'];
$_SESSION['error_message'] = 'Error message';
header("location: ".$base_url.'error.html');
exit;
}
}
就这样!不是您的错误页面将重定向到error.html页面。希望这对你有帮助
你好 您可以通过owerride core Exoption controller对管理端和客户端进行归档,请按照给定的步骤进行: 步骤:1添加子类前缀:$config['subclass_prefix']='MY_';在配置文件(system/application/config/config.php)中 步骤:2在您的目录(系统/应用程序/库)中创建MY_Exceptions.php文件并添加以下代码
class MY_Exceptions extends CI_Exceptions{
function MY_Exceptions(){
parent::CI_Exceptions();
}
function show_404($page=''){
$this->config =& get_config();
$base_url = $this->config['base_url'];
$_SESSION['error_message'] = 'Error message';
header("location: ".$base_url.'error.html');
exit;
}
}
就这样!不是您的错误页面将重定向到error.html页面。希望这对你有帮助
你好 您可以自定义显示错误的页面。codeigniter 3已经有默认错误页面。如果要更改错误页面,请在application/config/config.php中打开config.php 在config.php内部查找错误视图目录路径
$config['error_views_path'] = APPPATH.'/views/errors/'; //path to you error view directory
然后切换到目录错误视图。内部视图有2个目录。[cli,html]
当您通过cmd或终端访问您的网站时,cli查看句柄。
当您通过浏览器访问您的网站时,可以使用html和视图句柄
在这种情况下,您需要更改html的设计
在html中有5个由ci定义的错误页面
-application/views/html/error_404.php // while page doesn't exist
-application/views/html/error_db.php // while error on db such as configuration and etc
-application/views/html/error_exception.php // error exception
-application/views/html/error_general.php // error general
-application/views/html/error_php.php
您可以将500_admin.php重命名为error_general.php。对于变量消息,您需要打开defaulterror_general.php并粘贴到新视图中
请记住将它们放在应用程序/视图/错误/html中。
因此,您的错误页面结构文件夹将如下所示
application/views/errors/html/error_general.php
有关详细说明,请参阅文档,您可以自定义显示错误的页面。codeigniter 3已经有默认错误页面。如果要更改错误页面,请在application/config/config.php中打开config.php 在config.php内部查找错误视图目录路径
$config['error_views_path'] = APPPATH.'/views/errors/'; //path to you error view directory
然后切换到目录错误视图。内部视图有2个目录。[cli,html]
当您通过cmd或终端访问您的网站时,cli查看句柄。
当您通过浏览器访问您的网站时,可以使用html和视图句柄
在这种情况下,您需要更改html的设计
在html中有5个由ci定义的错误页面
-application/views/html/error_404.php // while page doesn't exist
-application/views/html/error_db.php // while error on db such as configuration and etc
-application/views/html/error_exception.php // error exception
-application/views/html/error_general.php // error general
-application/views/html/error_php.php
您可以将500_admin.php重命名为error_general.php。对于变量消息,您需要打开defaulterror_general.php并粘贴到新视图中
请记住将它们放在应用程序/视图/错误/html中。
因此,您的错误页面结构文件夹将如下所示
application/views/errors/html/error_general.php
有关详细说明,您可以查看文档谢谢您的帮助。但是使用此功能,我们可以显示错误的自定义设计页。但是,当开发人员正在处理特定模块时,它也会显示自定义设计页,显示错误消息。它还会为管理员和前面板显示相同的错误页。我希望不同对于这两种情况,首先需要设置常量值。外汇定义(“应用程序类型”,“管理”);在构造函数中或使用$\u会话来放置当前状态。在视图中,使用if分隔它们。你的管理员设计你的前端设计详细信息如果查看文件的PHP语法,我建议你将它们拆分为不同的应用程序。单个应用程序运行得很好。但这不是正确的解决方案。**我必须在具有多面板的类似应用程序中执行此操作。**如何定义你是在管理员还是前端应用程序中?您是否使用和作为前端?您可以将错误页面放在不同的目录中,并使用$this->config->set_item('error_views_path',APPPATH./views/errors_admin/')在控制器中更改该页面;例如问题是如何定义你是在管理员还是在前端谢谢你的帮助。但是使用它我们可以显示错误的自定义设计页面。但是,当开发人员在特定模块上工作时,它也会显示自定义设计页面,显示错误消息。它也会为管理员和前面板显示相同的错误页面。我希望不同对于这两种情况,首先需要设置常量值。外汇定义(“应用程序类型”,“管理”);在构造函数中或使用$\u会话来放置当前状态。在视图中,使用if分隔它们。你的管理员设计你的前端设计详细信息如果查看文件的PHP语法,我建议你将它们拆分为不同的应用程序。单个应用程序运行得很好。但这不是正确的解决方案。**我必须在具有多面板的类似应用程序中执行此操作。**如何定义你是在管理员还是前端应用程序中?您是否使用和作为前端?您可以将错误页面放在不同的目录中,并使用$this->config->set_item('error_views_path',APPPATH./views/errors_admin/')在控制器中更改该页面;例如问题是如何定义你是在管理员还是在前台end@Nidhi试试这个。这可能对你有帮助@我试试这个。这可能对你有帮助!