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重定向的系统,我会痛哭流涕。谢谢,伙计。我会接受你的回答,只要我解决了我的问题:)很好。很高兴我能帮上点忙