Php 如何在CodeIgniter中更改空URL?

Php 如何在CodeIgniter中更改空URL?,php,.htaccess,codeigniter,redirect,url-rewriting,Php,.htaccess,Codeigniter,Redirect,Url Rewriting,我想从mysite.com/en/home重定向我的网页,而URI是mysite.com 我用routes.php做了很多尝试,但都没有成功: $route['(:any)/'] = 'pages/view/$1/home'; $route[''] = 'home'; $route[''] = 'en'; 这只能通过.htaccess获得吗?如果是这样的话,我如何才能做到只影响mysite.com或mysite.com/en查询 由于其他URL类似于mysite.com/en/about,我不

我想从
mysite.com/en/home
重定向我的网页,而URI是
mysite.com

我用routes.php做了很多尝试,但都没有成功:

$route['(:any)/'] = 'pages/view/$1/home';
$route[''] = 'home';
$route[''] = 'en';
这只能通过.htaccess获得吗?如果是这样的话,我如何才能做到只影响mysite.com或mysite.com/en查询

由于其他URL类似于mysite.com/en/about,我不想将它们混入
mysite.com/en/home/about

附笔 我有以下规则将
mysite.com/x/y
转换为
mysite.com/index.php/x/y

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L] 
这条规则是否会与其他规则相冲突

谢谢你的帮助

编辑: 好的,为了尝试Diego Camacho的答案,我创建了一个空的CI项目,在
config.php
中设置了基本url,然后在routes.php中制定了两条规则,如下所示:

$route['(:any)'] = 'Site';
$route['default_controller'] = "pages/view";
并将此函数添加到pages.php(控制器):

所以现在,我希望它能像这样工作:

$route['(:any)'] = 'pages/view/$1';
$route['default_controller'] = "pages/view";
http://localhost/ci/index.php/
->无参数
http://localhost/ci/index.php/abc
->arg=abc

但它会返回以下内容:

http://localhost/ci/index.php/
->

遇到一个PHP错误

严重性:警告

消息:缺少Pages::view()的参数1

文件名:controllers/pages.php

电话号码:26

遇到一个PHP错误

严重性:通知

消息:未定义变量:arg

文件名:controllers/pages.php

电话号码:28

没有争论

404找不到页面

找不到您请求的页面


我做错了什么?

您需要将页面路由到主控制器,以便主控制器可以加载主页。范例

$route['(:any)'] = 'Site';
控制器:

    public function view($arg)
{
    if(!$arg)
    {
        echo "no argument";
    }
    else
    {
        echo "argument = $arg";
    }
}
class Site extends CI_Controller {

 function __construct() {
    parent::__construct();
 }

 public function index() {
    $this->home();
 }

 public function home() {
    $this->load->view('content/home');
 }

哦,我想我解决了这个问题。我需要使routes.php文件如下:

$route['(:any)'] = 'pages/view/$1';
$route['default_controller'] = "pages/view";

route.php
文件不重定向,它只是“替换”(关于CodeIgniter)路由,而
redirect()
确实重定向(更改URL)出于某种原因,将“”更改为“home”是有意义的:)显然是错误的。是的。如果我终于有了一个可以用PHP进行URL重定向的系统,我会痛哭流涕。谢谢,伙计。我会接受你的回答,只要我解决了我的问题:)很好。很高兴我能帮上点忙