簡體   English   中英

CodeIgniter PHP:如何僅當該段實際存在時才回顯該段

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM