Codeigniter无法从url中删除索引

时间:2013-06-24 10:29:33

标签: php codeigniter centos

我正在使用CentOS,

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^(index\.php|robots\.txt|resources)
RewriteRule ^(.*)$ index.php/$1 [L]
RewriteBase /var/www/html/site/

</IfModule>

但得到同样的问题我的index.php页面工作正常,但当我删除index.php 它不起作用......

5 个答案:

答案 0 :(得分:6)

我认为它会帮助你,因为我正在使用这个。将此代码放在根文件夹的htaccess文件中。

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

如果它正常工作,请告诉我。

答案 1 :(得分:2)

这可能是一些事情。

1(从配置文件中删除索引页面(application / config / config.php)

$config['index_page'] = '';

2(你有这样的base_url:

$config['base_url'] = 'http://yourdomain.com/';

请注意最后的/

3(试试这个.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 $1 !^(index\.php|images|table-images|js|robots\.txt|css|captcha)

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

答案 2 :(得分:0)

在您config.php文件夹的config文件中搜索索引网址(index_page)并将其设为空

$config['index_page'] = '';

答案 3 :(得分:0)

试试这个对我有用ccnd是我的文件夹。

RewriteEngine on
RewriteCond $1 !^(index\.php|uploads|images|css|js|lib|img|bootstrap|robots\.txt)
RewriteRule ^(.*)$ /ccnd/index.php/$1 [L]

答案 4 :(得分:0)

RewriteEngine On
RewriteBase /site_root/
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

重要的: 1.您必须在config.php文件中设置$config['index_page'] = '';。 2. site_root是文件夹名称,如wamp / www / site_root。