代码点火器路由和链接

时间:2011-02-27 12:42:36

标签: codeigniter routing

我是CodeIgniter的新手,我知道CakePHP非常好。

如果我重写以下内容:

test -> welcome/login
test/(:any) -> welcome/login/$1

当我写链接时,我想在代码中添加一个“welcome / login / asdas”链接,并将其解析为“test / asdas”。 CakePHP使用html链接或router :: url

来做到这一点

编辑:

我的意思是site_url('welcome / login / asd')应该返回“test / asd”

2 个答案:

答案 0 :(得分:1)

我认为这是不可能的。实际上,CodeIgniter只是使用您自己先前在route.php

中定义的路由,将您的应用从一个URL重新路由到另一个URL

这是你可以走得最远的地方。 site_url是一个内部CodeIgniter函数,可返回您在config.php文件中指定的网站网址

  

<强> SITE_URL()

     

返回您的网站网址,如中所述   你的配置文件。 index.php文件   (或者您设置的任何网站   你的配置文件中的index_page)   被添加到URL,任何URI也是如此   传递给函数的段。

     

鼓励您使用此功能   在您需要生成的任何时候运行   本地网址,以便您的网页成为   如果你的网址更加便携   变化。

     

可以选择传递细分   函数作为字符串或数组。   这是一个字符串示例:

     

echo site_url(“news / local / 123”);该   以上示例将返回一些内容   喜欢:   http://example.com/index.php/news/local/123

我将尝试研究位于site_url文件(url_helper.php |第42行)中的system/helpers/url_helper.php函数,并对其进行修改以执行我想要的操作。

答案 1 :(得分:0)

试试这个

转到application/config/routes.php

您可以在routes.php

中添加以下变量
$route['test'] = "welcome/login";
$route['test/:any'] = "welcome/login/$1";

浏览此http://codeigniter.com/user_guide/general/routing.html