Codeigniter 3删除index.php问题

Chi*_*buc 5 php apache .htaccess mod-rewrite codeigniter

我有一个小项目,我为codeigniter 2.1.4中的客户开发,现在,他坚持要迁移到codeigniter 3 DEV版本.我知道这不是一个好的想法但是...我的问题是我无法从url中删除index.php.

这是我的.htaccess文件:

  Options +FollowSymLinks
  RewriteEngine on

  # Send request via index.php
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?/$1 [L]
Run Code Online (Sandbox Code Playgroud)

我从config.php文件中删除了index.php
没有运气
我重新安装了LAMP服务器(我在Ubuntu 12.04上),重新配置
我在Codeigniter 2.1.4和Laravel 4上开发的本地服务器上还有其他项目工作得很好,但这一次它杀了我.
谢谢!

小智 11

我这样做了:

使用以下内容在项目的根文件夹中创建.htaccess:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|css|js|images|robots\.txt)
RewriteRule ^(.*)$ index.php?$1 [L]
Run Code Online (Sandbox Code Playgroud)

然后,在config.php中我修改了这一行.

从:

$config['url_suffix'] = 'index.php';
Run Code Online (Sandbox Code Playgroud)

至:

$config['url_suffix'] = '';
Run Code Online (Sandbox Code Playgroud)


小智 6

请将以下代码添加到.htaccess文件中,并将其直接包含在/codeigniter_project_folder/.htacess中

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


Dri*_*eña 2

如果您的 Apache 服务器启用了 mod_rewrite,您可以通过使用 .htaccess 文件和一些简单的规则轻松删除此文件。

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

去掉?index.php后面的