当CI在子文件夹中时,CodeIgniter的“删除index.php文件”不起作用

时间:2013-07-28 22:59:52

标签: .htaccess mod-rewrite url-rewriting codeigniter-2

我正在使用CI 2.1.4(尝试使用)当我编辑.htaccess从我的网址中删除index.php它不起作用。我的项目位于子文件夹中:

http://myserver.dev/project/

我已将base_url从$ config ['index_page'] =''中删除了index.php并粘贴了确切的代码格式http://ellislab.com/codeigniter/user-guide/general/urls.html

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

尝试了一些来自stackoverflow.com研究员的解决方案(有些使用RewriteBase),但是,它不起作用。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

我不认为这是因为.htaccess,这对我有用,而不是因为子文件夹。

这是我正在使用的.htaccess的一个例子:

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

在base_url中设置正确的网址:或者

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

显然:

$config['index_page'] = '';

有了这个,它对我有用......