我正在运行Kohana 3(最新版),我不知道如何在我的视图中处理链接。例如。我的基本网址为http://localhost/foo/。我有一个菜单,这个菜单在bar和baz页面之间共享:
<a href="bar">Bar</a>
<a href="baz">Baz</a>
如果我在我的主页,我的链接是:
http://localhost/foo/bar
http://localhost/foo/baz.
这些链接是相同的。如果我点击栏链接,例如我的链接将是:
http://localhost/foo/bar/bar
http://localhost/foo/bar/baz.
怎么了?我该如何处理网址? 感谢。
答案 0 :(得分:2)
最简单的方法是使用:
URL::site('bar');
这将创建一个相对URL,包括base_path和index.php(如果已启用,则为ofc)。
您也可以使用Route::url()
使用路线生成相同的内容。
Route::url('route_name', array('id' => $id));
这不仅涉及视图,而是涉及所有附加链接。
答案 1 :(得分:2)
您也可以使用Kohana的Html::anchor()方法:
echo HTML::anchor('bar', 'Bar');
答案 2 :(得分:0)
您还可以在<base>
中添加<head>
标记,如下所示:
<head>
...
<base href="<?php echo url::base(); ?>" />
...
</head>
在您的视图中,您使用的每个链接都相对于<base>
而不是当前地址。这种方式<a href="bar">Bar</a>
始终指向http://localhost/foo/bar
,无论您使用哪个页面。