重定向时没有删除 index.php - codeigniter

Posted

技术标签:

【中文标题】重定向时没有删除 index.php - codeigniter【英文标题】:Didn't remove index.php when redirection - codeigniter 【发布时间】:2019-11-23 07:30:23 【问题描述】:

我尝试了很多方法来删除我的项目中的 index.php。 这里的方法

这是我的路线文件

$route['default_controller'] = 'auth/login';
$route['signin'] = 'auth/login';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

这是我的 htacess 文件

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

在配置文件中

<Directory "C:/xampp2/cgi-bin">
    AllowOverride All
    Options None
    Require all granted
</Directory>

仍然需要 index.php。我该怎么做才能删除它?

【问题讨论】:

【参考方案1】:

在您的配置中,

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

替换为:

$config['index_page'] = '';

【讨论】:

LoadModule setenvif_module modules/mod_setenvif.so 这个启用 找到文本#LoadModule rewrite_module modules/mod_rewrite.so 并删除#然后保存,重启你的apache 实际上进展顺利,但在文件 .htaccess 上试试这个: RewriteEngine On RewriteCond %REQUEST_FILENAME !-f RewriteCond %REQUEST_FILENAME !-d RewriteRule ^(.* )$ index.php/$1 [L] 请查看link【参考方案2】:

在 .htaccess 文件中我创建了这个

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

它对我有用。

【讨论】:

以上是关于重定向时没有删除 index.php - codeigniter的主要内容,如果未能解决你的问题,请参考以下文章

nginx 重定向循环,从 url 中删除 index.php

如何在 Codeigniter 中重定向和删除 index.php [重复]

从 url 中删除/重定向 index.php 以防止重复的 url

在没有 index.php 的情况下,codeigniter 重定向不起作用?

没有 URL 重写的 CakePHP:将 / 重定向到 index.php

text nginx重定向循环,从url中删除index.php