[英]CodeIgniter PHP: how to echo a URL segment only if that segment actually exists
好的,我已經嘗試解決這個問題 3 天了,但我似乎無法正確解決。 僅當特定網頁確實存在該段時,我才嘗試有條件地回顯 URL 段(頁碼)。 具體來說,我正在處理標題模板中的規范標簽。
背景:
我當前的代碼根據需要回顯分頁目錄頁面,如下所示:
https://www.example.com/subjects/apples/2
https://www.example.com/subjects/apples/3
https://www.example.com/subjects/apples/4
etc.
它按照不需要的方式回顯目錄主頁,如下所示:
https://www.example.com/subjects/apples/
必須保持不變:
分頁目錄 URL 不以正斜杠結尾,這很好。
必須改變的地方:
目錄主頁確實以正斜杠結尾,這是不好的。
現有代碼:
<link rel="canonical" href="<?php echo $this->config->item("base_url");?><?php echo $category_in_url;?>/<?php echo $this->uri->segment(2);?>" />
預期的結果:
目錄主頁不得以正斜杠結尾。 要停止在目錄主頁 URL 末尾留下孤立的正斜杠,您的新代碼將回顯
/<?php echo $this->uri->segment(2);?>
僅當特定網頁實際存在第 2 段(即,頁碼為 2+)時。 第 0 頁和第 1 頁在 URL 中沒有頁碼。 所以,從第 2 頁開始,我需要回應那部分。 分頁目錄頁面應如下所示:
https://www.example.com/subjects/apples/4
目錄主頁應如下所示:
https://www.example.com/subjects/apples
注意:您的解決方案必須在不破壞 PHP 的情況下使用我現有的代碼。
在此先感謝您的大力幫助!
傑森
<link rel="canonical" href="<?php echo $this->config->item("base_url");?><?php echo $category_in_url.((int)$this->uri->segment(2,0) > 1 ? '/'.$this->uri->segment(2) : '');?>" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.