在笨-htaccess删除的index.php(Removing index.php in code

2019-11-03 14:14发布

我试着从URL中移除的index.php在过去40天,但没有成功。

http://domainName.com/CI/index.php/controller-name/function/parameter

CI是GoDaddy的托管文件夹。

/
的.htaccess
CI

谷歌搜索后,我试着用下面的代码,但只得到一个空白页或错误:500,也是我不明白的逻辑。 请人帮我寻找到我要去错了。

RewriteEngine on
RewriteCond $1 !^(index\.php|[Javascript / CSS / Image root Folder name(s)]|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

第2

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

我也改了行,CI /应用/配置/ config.php文件

$配置[ 'index_page'] = '';

$配置[ 'uri_protocol'] =“REQUEST_URI”

Answer 1:

这应该工作

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


Answer 2:

刚刚尝试这一点它的工作方式回复我

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]


Answer 3:

按照以下的步骤:

  1. 改变这样的配置文件:

    $配置[ 'index_page'] = '';

    $配置[ 'uri_protocol'] = '自动';

  2. 使用下面的.htaccess:

RewriteEngine on RewriteCond $1 !^(index\.php|resources|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA]

注:的.htaccess取决于服务器。 有些服务器(例如:Godaddy的)需要使用下面的.htaccess:

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

看这里

使用在BASE_URL下面的代码:

$config['base_url'] = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 's' : '').'://'.$_SERVER['HTTP_HOST'].str_replace('//','/',dirname($_SERVER['SCRIPT_NAME']).'/');


文章来源: Removing index.php in codeigniter -htaccess