CodeIgniter从href中删除index.php

时间:2015-08-11 12:16:55

标签: apache .htaccess codeigniter href codeigniter-url

在CodeIgniter应用程序中

此链接有效

<a href="index.php/controller">link</a>

虽然这个

<a href="controller">link</a>

配置有什么问题?什么必须改变顺序链接工作开始时没有“index.php /”?

这没有成功:

1)添加到application / routes.php

$route['(:any)'] = 'controller';

2)添加到application / .htaccess

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

<Files "index.php">
AcceptPathInfo On
</Files>

3)在etc / apache2 / httpd.conf中取消注释

LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php5_module libexec/apache2/libphp5.so

2 个答案:

答案 0 :(得分:1)

首先,你应该空白

$config['index_page'] = '';
在配置中

         config.php文件 然后在项目主目录中的.htaccess中编写以下代码。

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

答案 1 :(得分:-1)

在.htaccess中使用此功能从网址

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

您的链接应为

<a href="/controller">link</a>

Config.php应该是

$config['index_page'] = '';

应该在apache中激活rewrite_module