一尘不染

使用CodeIgniter重定向

php

谁能告诉我为什么我的重定向助手无法按我期望的方式工作?我正在尝试重定向到我的主控制器的index方法,但是www.mysite.com/index/provider1/当它路由到时需要我www.mysite.com/provider1。这对任何人有意义吗?我将配置中的索引页设置为空白,尽管我不认为这是问题所在。有人对如何解决此问题有建议吗?提前致谢!

控制器

if($provider == '') {
    redirect('/index/provider1/', 'location');
}

.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

阅读 280

收藏
2020-05-29

共1个答案

一尘不染

redirect()

URL助手


代码点火器中的redirect语句使用重定向标头语句将用户发送到指定的网页。

该语句位于URL帮助器中,该帮助器通过以下方式加载:

$this->load->helper('url');

重定向函数将加载在函数调用的第一个参数中指定并使用配置文件中指定的选项构建的本地URI。

第二个参数允许开发人员使用不同的HTTP命令来执行重定向“位置”或“刷新”。

根据Code Igniter文档:“位置更快,但是在Windows服务器上,有时可能会出现问题。”

例:

if ($user_logged_in === FALSE)
{
     redirect('/account/login', 'refresh');
}
2020-05-29