0

我制作了一个登录脚本来访问另一个控制器,这样其他人就看不到了。

现在我的控制器中有一个重定向功能,可以重定向到另一个控制器。

现在当我重定向它工作正常,但它放了一个?在我的 base_url 和控制器之间,如下所示:

http://kees.een-site-bouwen.nl/?/member/index

我该如何解决?

我的家庭控制器功能:

public function process(){
    // Load the model
    $this->load->model('login_model');
    // Validate the user can login
    $result = $this->login_model->validate();
    // Now we verify the result
    if(! $result){
        // If user did not validate, then show them login page again
        $msg = '<font color=red>Invalid username and/or password.</font><br />';
        $this->index($msg);
    }else{
        // If user did validate, 
        // Send them to members area
        redirect('/member/index');
    }        
}  

它与我的 .htaccess 文件有关吗?

它看起来像这样:

<IfModule mod_rewrite.c>
RewriteEngine On
#Removes access to the system folder by users.
#Additionally this will allow you to create a System.php controller,
#previously this would not have been possible.
#'system' can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ index.php?/$1 [L]

#When your application folder isn't in the system folder
#This snippet prevents user access to the application folder
#Submitted by: Fabdrol
#Rename 'application' to your applications folder name.
RewriteCond %{REQUEST_URI} ^LoginTut.*
RewriteRule ^(.*)$ index.php?/$1 [L]

#Checks to see if the user is attempting to access a valid file,
#such as an image or css document, if this isn't true it sends the
#request to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
 ErrorDocument 404 index.php
</IfModule>
4

3 回答 3

0

使用redirect('member/index') insted of redirect('/member/index');

于 2013-03-22T11:39:15.810 回答
0

将您的 htaccess 更改为:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ index.php/$1 [L]

RewriteCond %{REQUEST_URI} ^LoginTut.*
RewriteRule ^(.*)$ index.php/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

这样 url 被解析为index.php/controller而不是index.php?/controller

于 2013-03-22T11:55:45.163 回答
0

我通过禁用 query_strings 来解决它,如下所示:

从:

$config['enable_query_strings'] = TRUE;

到:

$config['enable_query_strings'] = FALSE;

在我的 Config.php 文件中。

于 2013-03-26T09:41:50.403 回答