Codeigniter Remove.php并路由到index.php
如果用户遵循此url: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]
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永久重定向的最佳方法。请参阅此答案