在CodeIgniter中重定向整个站点不起作用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在CodeIgniter中重定向整个站点不起作用相关的知识,希望对你有一定的参考价值。
我需要将整个站点重定向到特定的控制器(under_construction),但我不想在所有页面中放入要重定向的脚本。
我想,我可以在.htaccess
或CodeIgniter的routes
中做到这一点。在.htaccess中,我不知道如何使用regex
或如何使用它。
有了routes
,我尝试了以下方法:
$route['index.php/test'] = "under_construction";
但这不起作用。没有显示任何响应,没有做任何我期望的事情,所有页面都转到under_construction
控制器。我想为很多控制器做这个。使用regex
有一种简单的方法吗?
答案
这对我来说很有用.htaccess:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !index.php/under_construction$ [NC]
RewriteRule ^(.*)$ http://localhost/index.php/under_construction [L,R=302]
您确实希望使用.htaccess以获得最佳性能,而302重定向则表示“此重定向不是永久性的,因此请稍后尝试相同的请求URI”。
另一答案
通过路由,您可以执行类似的操作。在APPATH.'config/routes.php'
:
$route['(:any)'] = 'wanted/controller/method';
在默认路径(安装附带)之后设置此路由。
以上是关于在CodeIgniter中重定向整个站点不起作用的主要内容,如果未能解决你的问题,请参考以下文章
在 CodeIgniter 3 中重定向后 Flashdata 未清除