首頁  >  文章  >  後端開發  >  為什麼相對路徑跳轉成功,絕對路徑就跳轉失敗? (詳見代碼)

為什麼相對路徑跳轉成功,絕對路徑就跳轉失敗? (詳見代碼)

WBOY
WBOY原創
2016-08-04 09:19:071476瀏覽

1.一個是

<code><a href="<php>echo $_SERVER['HTTP_HOST'].'/home/shop/cate/id/'.$goods['id']</php>" target="_blank">{$goods['name']}</a>
</code>

另一個是

<code><a href="<php>echo '/home/shop/cate/id/'.$goods['id']</php>" target="_blank">{$goods['name']}</a>
</code>

2.第一個是絕對路徑,但是跳轉的頁面是空的,但是你刷新一下那個頁面,就顯示出來了。
第二個是相對路徑,但是一跳轉就直接出來內容了

請問這是為什麼?
程式碼在thinkphp下執行,為thinkphp的模板寫法,
我遇到的這種問題是所有php都遇到的,還是因為thinkphp的獨特語法造成的?

回覆內容:

1.一個是

<code><a href="<php>echo $_SERVER['HTTP_HOST'].'/home/shop/cate/id/'.$goods['id']</php>" target="_blank">{$goods['name']}</a>
</code>

另一個是

<code><a href="<php>echo '/home/shop/cate/id/'.$goods['id']</php>" target="_blank">{$goods['name']}</a>
</code>

2.第一個是絕對路徑,但是跳轉的頁面是空的,但是你刷新一下那個頁面,就顯示出來了。
第二個是相對路徑,但是一跳轉就直接出來內容了

請問這是為什麼?
程式碼在thinkphp下執行,為thinkphp的模板寫法,
我遇到的這種問題是所有php都遇到的,還是因為thinkphp的獨特語法造成的?

你直接用$_SERVER['HTTP_HOST']是不行的,因為沒有http://。你在絕對路徑前加上http://就可以了

點右鍵查看原始碼就知道了 ,應該是樓上說的原因

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn