首页 > 解决方案 > Godaddy linux主机上的Codeigniter默认控制器问题

问题描述

我正在使用 Godaddy linux 托管,并在其上部署了 codeigniter 源代码。它在本地主机上工作得非常好。我的默认控制器名称是“欢迎”。

  1. 当我在输入用户名和密码后尝试按登录按钮登录时,没有在 url 中写入默认控制器名称,然后它会显示“不允许您请求的操作。” 在某些地方它工作正常。这是我如何写 url ' https://www.example.com '

  2. 当我在 url 中写入默认控制器名称时,然后输入用户名和密码,然后按登录按钮。它工作正常。这是我写 https://www.example.com/Welcome的方式

  3. 当我从配置文件中的 base_url 中删除“www”时,它在某些位置可以正常工作,但在其他一些位置则不能。这是我的配置文件

    $config['base_url'] = 'https://www.example.com/';
    
    $config['index_page'] = '';
    
    $config['uri_protocol'] = 'REQUEST_URI';
    
    $config['url_suffix'] = '';
    
    $config['language'] = 'english';
    
    $config['charset'] = 'UTF-8';
    
    $config['enable_hooks'] = FALSE;
    
    $config['subclass_prefix'] = 'MY_';
    
    $config['composer_autoload'] = FALSE;
    
    $config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-@';
    
    $config['enable_query_strings'] = FALSE;
    $config['controller_trigger'] = 'c';
    $config['function_trigger'] = 'm';
    $config['directory_trigger'] = 'd';
    
    $config['allow_get_array'] = TRUE;
    
    $config['log_threshold'] = 0;
    
    $config['log_path'] = '';
    
    $config['log_file_extension'] = '';
    
    $config['log_file_permissions'] = 0644;
    $config['log_date_format'] = 'Y-m-d H:i:s';
    $config['error_views_path'] = '';
    $config['cache_path'] = '';
    $config['cache_query_string'] = FALSE;
    $config['encryption_key'] = '';
    $config['sess_driver'] = 'files';
    $config['sess_cookie_name'] = 'ci_session';
    $config['sess_expiration'] = 7200;
    $config['sess_save_path'] = NULL;
    $config['sess_match_ip'] = FALSE;
    $config['sess_time_to_update'] = 300;
    $config['sess_regenerate_destroy'] = FALSE;
    
    $config['cookie_prefix']    = '';
    $config['cookie_domain']    = '';
    $config['cookie_path']      = '/';
    $config['cookie_secure']    = FALSE;
    $config['cookie_httponly']  = FALSE;
    
    $config['standardize_newlines'] = FALSE;
    
    $config['global_xss_filtering'] = FALSE;
    
    $config['csrf_protection'] = True;
    $config['csrf_token_name'] = 'csrf_snt_token';
    $config['csrf_cookie_name'] = 'csrf_cookie_snt';
    $config['csrf_expire'] = 7200;
    $config['csrf_regenerate'] = TRUE;
    $config['csrf_exclude_uris'] = array();
    
    
    $config['compress_output'] = FALSE;
    
    
    $config['time_reference'] = 'local';
    
    
    $config['rewrite_short_tags'] = FALSE;
    
    $config['proxy_ips'] = '';   
    

我不知道哪里做错了。我希望它甚至不需要在 url 中写入默认控制器名称就可以工作。任何帮助将非常感激 :)

标签: phpcodeignitercsrf-protection

解决方案



推荐阅读