笨无法刷新页面会破坏和直接后(Codeigniter cannot refresh page aft

2019-10-18 19:12发布

我有写在代码点火器一个PHP程序,需要你的帮助! 一直在尝试3周!

我有htaccess的国防部重写,使http://www.sampleurl.com/controllername而不是http://www.sampleurl.com/index.php/controllername

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .* index.php/$0 [PT,L] 
</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to index.php, and everything works as normal.

    ErrorDocument 404 /index.php
</IfModule> 

我有仪表板控制器(目前用于测试的会议。)

public function index()
    {
            $is_logged_in = $this->session->userdata('fb_session');

            $data = array(
                'fb_data' => $is_logged_in,
            );

            if (!isset($is_logged_in) || $is_logged_in != true){
                redirect('/error');
            }


        }

下面是想杀死当前会话并重定向到仪表板页面中的功能。

$('#logoutbtn').click(function(){
         $.ajax({
            type:"POST",
            url: "/fbcontroller/killsession",
            datatype: "json",
            success: function(){
                alert("Logout");
            }
         });
    });


 public function killsession(){
           $this->session->sess_destroy();
            redirect('/dashboard');
        }

问题1:当我从功能1个控制器到另一个重定向,重定向这里失败。 而是引导到仪表板,萤火虫会显示404错误,找不到页面。 而在响应时,它会显示/错误页面的所有HTML代码。 这是否意味着重定向工作? 如果是的话,为什么不把它显示在浏览器吗?

问题2:会议摧毁,但登录页面停留即使我刷新(F5)。

Answer 1:

对于htaccess的,我建议:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\?*$ index.php/$1 [L,QSA]

而且知道当你杀死会议CI将在你的下一个页面加载创建一个新的1(在你的情况下对重定向)..会议不只是为用户登录。

在应用程序/配置/ config.php文件,不要忘记设置

$config["index_page"] = '';


文章来源: Codeigniter cannot refresh page after session destroy and direct