CodeIgniter PHP:如何仅在URL段实际存在时才回显该段



好吧,我已经尝试了 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) : '');?>" />

相关内容

  • 没有找到相关文章

最新更新