我正在尝试从网址中删除“index.php”。我试过制作
$config['uri_protocol'] = 'AUTO';
作为
$config['uri_protocol'] = 'REQUEST_URI';
和
$config['index_page'] = 'index.php';
作为
$config['index_page'] = '';
甚至尝试放
RewriteEngine on
RewriteCond $1 !^(index\.php|[Javascript / CSS / Image root Folder name(s)]|robots\.txt)
RewriteRule ^(.*)$ /project/index.php/$1 [L]
在.htaccess文件中,但它不起作用。谁能告诉我哪里出错了? 提前谢谢..
答案 0 :(得分:1)
鉴于你告诉我你正在使用Ubuntu ......
sudo a2enmod rewrite
以在您的计算机上启用mod_rewrite
。sudo nano /etc/apache2/sites-enabled/000-default
打开000默认值,并将AllowOverride None
的第一次出现更改为AllowOverride All
然后使用sudo service apache2 restart
重新启动apache。
也可以使用:$config['index_page'] = '';
答案 1 :(得分:1)
删除index.php有3个步骤
1.在application / config.php文件中进行以下更改
$config['base_url'] = 'http://'.$_SERVER['SERVER_NAME'].'/Your Ci folder_name';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';
2.使用以下代码
在根目录中创建.htacces文件RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
3.启用重写模式
我。首先,使用以下命令启动它:
a2enmod重写
II。编辑文件/ etc / apache2 / sites-enabled / 000-default
将 AllowOverride无更改为 AllowOverride All 。
III。使用以下命令重新启动服务器:
sudo /etc/init.d/apache2 restart
答案 2 :(得分:0)
这是我一直使用的.htaccess
文件。适合我:
<IfModule mod_rewrite.c>
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase /project/
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
</IfModule>
答案 3 :(得分:0)
得到了答案,我刚刚在.htaccess文件中插入了以下代码:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
并制作
$config['index_page'] = '';
config.php
中的回答:@Akhilraj N S