Codeigniter Remove.php并路由到index.php

Codeigniter Remove.php并路由到index.php,php,.htaccess,codeigniter,Php,.htaccess,Codeigniter,如果用户遵循此url: http://localhost/events/info.php 如何通过htaccess删除.php扩展名,以便将用户路由到index.php,并将我的事件控制器发送到Info函数中?我基本上想创建301重定向 http://localhost/events/info 我有旧的索引链接,我需要重定向到我的控制器函数,这样我就不会得到404 使用 RewriteEngine On RewriteRule ^events/info/$ index.php [L,QSA]

如果用户遵循此url:

http://localhost/events/info.php
如何通过htaccess删除.php扩展名,以便将用户路由到index.php,并将我的事件控制器发送到Info函数中?我基本上想创建301重定向

http://localhost/events/info
我有旧的索引链接,我需要重定向到我的控制器函数,这样我就不会得到404

使用

RewriteEngine On
RewriteRule ^events/info/$ index.php [L,QSA]

您正在使用什么版本的CI

通常我们在没有.php的情况下已经得到了这样的结果

http://localhost/events/info
要路由到index.php(在视图文件夹中):您只需要在控制器文件中这样做

controllers/events.php

function info(){
 redirect('events/index');
}

function index()
{
 $this->load->view('index.php');
}

使用
.htaccess

Redirect 301 events/info.php http://localhost/events/info
您可能会发现生成重定向很有用

http://localhost/events/info

如果您只想路由URL:
http://localhost/events/info.php
事件
控制器中的
信息
函数,那么您不必从URL中删除
.php
,您可以在
应用程序/config/routes.php
中添加一个

$route['events/info.php'] = 'events/info';
如果尚未删除,则还必须删除
index.php


如果您想从所有URL中删除
.php
,使它们看起来更干净,那么有很多可用的资源,包括。

他想通过.htaccess文件对其进行更改;)总之,我学到了一些东西。酷:)你真的需要读一读关于URL结构的优秀文章。我理解URL结构是如何工作的。我有旧的索引链接,我需要重定向到我的控制器函数,所以我没有得到404。我明白了,但是最初的问题没有说明这个问题。重写.htaccess文件中的规则是创建301永久重定向的最佳方法。请参阅此答案