0

我有这个基本问题

这是 :

<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)

4

4 回答 4

1

除非我遗漏了什么,否则唯一的区别(并且至少有一个区别)在于 HTML,而不是 PHP 本身。

第二个有一个以 a 开头的链接,/这意味着它指向链接

http://yoursite.tld/userconsole/etc

/userconsole/etc第一个从你叫它的地方指向相对的。因此,如果您在 dir/yourpath中,它将指向您http://yoursite.tld/yourpath/userconsole/etc

于 2012-08-09T07:31:24.533 回答
1

让我们在 www.somesite.com/url/ 上说你

<a href="userconsole/indivstore/<?php echo $obj->store_id; ?>/">
<?php echo $obj->title; ?></a> 

你要去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/

所以它的真实路径与绝对路径。

于 2012-08-09T07:35:26.837 回答
0

第一个链接具有您正在访问的实际页面的相对路径,但第二个页面具有绝对路径,因此:

如果您在:http://example.com/something/other-thing

在第一种情况下,下一个 url 将是:http://example.com/something/other-thing/userconsole..etc 在第二种情况下,下一个 url 将是:http://example.com/userconsole..etc

于 2012-08-09T07:33:06.410 回答
0

<a href="userconsole/indivstore/<?php echo $obj->store_id; ?>/">是相对 URL,所以如果你在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; ?>/">是绝对 URL,因此如果您在它上面,如果您的站点位于子文件夹下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

于 2012-08-09T07:36:48.963 回答