如何从url中删除index.php

时间:2013-02-22 05:25:15

标签: codeigniter url

当我鼠标悬停或点击锚链接时,它会显示

http://localhost/code-testing/index.php/about-us. 

我也尝试了base_url()和site_url(),但结果是一样的。我可以从网址中删除'index.php'吗?

-Thanks。

解决:

谢谢大家的回答。我正在使用xampp,这个为我工作

代码测试/应用/配置/ config.php中

$config['base_url']= 'http://localhost/code-testing/';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';

代码测试/ htaccess的

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

然后以下链接工作,而没有在网址

中显示'index.php'
<li><a href="<?php echo base_url('home');?>">HOME</a></li>
<li><a href="<?php echo base_url('about_us');?>">About Us</a></li>
<li><a href="<?php echo base_url('contact');?>">Contact Us</a></li>

3 个答案:

答案 0 :(得分:6)

删除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

答案 1 :(得分:0)

将变量设置为空,如下所示。

$config['index_page'] = '';

尝试逐个使用这些参数('AUTO', 'PATH_INFO', 'QUERY_STRING', 'REQUEST_URI', and 'ORIG_PATH_INFO')替换以下变量

$config['uri_protocol'] = 'AUTO';

答案 2 :(得分:0)

将.htaccess文件与index.php文件一起放在应用程序根目录中。 (检查htaccess扩展名是否正确,Bz htaccess.txt对我不起作用。)

并将以下规则添加到.htaccess文件中,

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

然后在application / config / config.php文件中找到以下行

$config['index_page'] = 'index.php';

将变量设置为空,如下所示。

$config['index_page'] = '';

就是这样,它对我有用。

如果它不起作用,请尝试逐个替换以下变量('AUTO','PATH_INFO','QUERY_STRING','REQUEST_URI'和'ORIG_PATH_INFO')

$config['uri_protocol'] = 'AUTO';