我有这个基本问题
这是:
<a href="userconsole/indivstore/<?php echo $obj->store_id; ?>/">
<?php echo $obj->title; ?></a>
与此不同:
<a href="/userconsole/indivstore/<?php echo $obj->store_id; ?>/">
<?php echo $obj->title; ?></a>
或者没有区别?
(我目前正在使用CodeIgniter)
答案 0 :(得分:1)
除非我遗漏了某些内容,否则唯一的区别(并且至少存在一个区别)是HTML,而不是PHP本身。
第二个链接以/
开头,这意味着它指向
http://yoursite.tld/userconsole/etc
第一个指向/userconsole/etc
相对于您称之为的地方。因此,如果您在目的地/yourpath
,它会指向http://yoursite.tld/yourpath/userconsole/etc
答案 1 :(得分:1)
让我们在www.somesite.com/url /
上说用
<a href="userconsole/indivstore/<?php echo $obj->store_id; ?>/">
<?php echo $obj->title; ?></a>
Ur转到www.somesite.com/url/userconsole/indivstore/
使用
<a href="/userconsole/indivstore/<?php echo $obj->store_id; ?>/">
<?php echo $obj->title; ?></a>
这是重要的/
!你回到你的根路径意味着www.somesite.com
。
结果:www.somesite.com/userconsole/indivstore/
所以它完全依赖于绝对路径。
答案 2 :(得分:0)
第一个链接具有指向您正在访问的实际页面的相对路径,但第二个页面具有绝对路径,因此:
如果您在:http://example.com/something/other-thing
在第一种情况下,下一个网址将是:http://example.com/something/other-thing/userconsole..etc
在第二种情况下,下一个网址将是:http://example.com/userconsole..etc
答案 3 :(得分:0)
<a href="userconsole/indivstore/<?php echo $obj->store_id; ?>/">
是相对网址
因此,如果您在http://host/site/current-page
,则会指向http://host/site/current-page/userconsole/indivstore/<?php echo $obj->store_id; ?>
哪个错误
<a href="/userconsole/indivstore/<?php echo $obj->store_id; ?>/">
是绝对网址,因此,如果您使用的是http://host/site/current-page
,则如果您的网站位于子文件夹下,则会指向http://host/userconsole/indivstore/<?php echo $obj->store_id; ?>
这是错误的。
使用codeigniter生成URL的正确方法是使用site_url()帮助程序 请查看http://codeigniter.com/user_guide/helpers/url_helper.html