oce*_*tna 59 php redirect codeigniter urlhelper
任何人都可以告诉我为什么我的重定向助手不能像我期望的那样工作吗?我正在尝试重定向到我的主控制器的索引方法,但它需要我www.mysite.com/index/provider1/何时应该路由到www.mysite.com/provider1.这对任何人都有意义吗?我在配置中的索引页面设置为空白,虽然我不认为这是问题.有没有人就如何解决这个问题提出建议?提前致谢!
控制器:
if($provider == '') {
redirect('/index/provider1/', 'location');
}
Run Code Online (Sandbox Code Playgroud)
.htaccess:
RewriteEngine on
RewriteCond %{REQUEST_URI} !^(index\.php|files|images|js|css|robots\.txt|favicon\.ico)
RewriteCond %{HTTP_HOST} ^mysite.com/ttnf/
RewriteRule (.*) http://www.mysite.com/ttnf/$1 [R=301,L]
RewriteBase /ttnf/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
php_flag display_errors On
Run Code Online (Sandbox Code Playgroud)
Jon*_*ley 146
此语句驻留在URL帮助程序中,该帮助程序按以下方式加载:
$this->load->helper('url');
Run Code Online (Sandbox Code Playgroud)
重定向函数加载函数调用的第一个参数中指定的本地URI,并使用配置文件中指定的选项构建.
第二个参数允许开发人员使用不同的HTTP命令来执行重定向"位置"或"刷新".
根据Code Igniter文档:"位置更快,但在Windows服务器上有时会出现问题."
例:
if ($user_logged_in === FALSE)
{
redirect('/account/login', 'refresh');
}
Run Code Online (Sandbox Code Playgroud)
如果你的目录结构是这样的
site
application
controller
folder_1
first_controller.php
second_controller.php
folder_2
first_controller.php
second_controller.php
Run Code Online (Sandbox Code Playgroud)
当您要在您工作的同一个控制器中重定向它时,只需编写以下代码。
$this->load->helper('url');
if ($some_value === FALSE/TRUE) //You may give 0/1 as well,its up to your logic
{
redirect('same_controller/method', 'refresh');
}
Run Code Online (Sandbox Code Playgroud)
如果您想重定向到另一个控件,请使用以下代码。
$this->load->helper('url');
if ($some_value === FALSE/TRUE) //You may give 0/1 as well,its up to your logic
{
redirect('folder_name/any_controller_name/method', 'refresh');
}
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您想重定向以前的位置或最后一个请求,那么您必须包含user_agent库:
$this->load->library('user_agent');
Run Code Online (Sandbox Code Playgroud)
然后最后在您正在使用的函数中使用:
redirect($this->agent->referrer());
Run Code Online (Sandbox Code Playgroud)
它对我有用。
小智 5
首先,你需要像这样加载 URL helper 或者你可以在 autoload.php 文件中上传:
$this->load->helper('url');
if (!$user_logged_in)
{
redirect('/account/login', 'refresh');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
316516 次 |
| 最近记录: |