当我鼠标悬停或点击锚链接时,它会显示
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>
答案 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';