gpt4 book ai didi

php - 使用 PHP 在同一类别的多个页面上生成 rel 规范(并使用 glob( ) 函数)

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:41:23 25 4
gpt4 key购买 nike

假设您在一家公司工作,该公司拥有一个相当大的电子商务网站,其中包含许多产品类别和子类别(有时还有子类别)。因此,为了方便用户,有些类别具有重复的子类别和重复的内容。每当用户登陆这些重复类别之一并将其指向对 SEO 更友好的类别时,您希望使用 PHP 生成 rel 规范。在这种情况下,带有重复子类别的类别是“随机的东西”,而我希望规范指向的类别是“各种东西”。因此,item_1.html - item_4.html 都可以在“random-stuff”和“assorted-things”中找到,但我希望规范指向“assorted-things”。目前,这是我所拥有的:

<?php if(is_numeric(strpos($_SERVER['REQUEST_URI'],'random-stuff/item_1.html'))) echo '<link rel="canonical" href="http://mydomain.com'.str_replace('random-stuff', 'assorted-things', $_SERVER['REQUEST_URI']).'" />'; ?>
<?php if(is_numeric(strpos($_SERVER['REQUEST_URI'],'random-stuff/item_2.html'))) echo '<link rel="canonical" href="http://mydomain.com'.str_replace('random-stuff', 'assorted-things', $_SERVER['REQUEST_URI']).'" />'; ?>
<?php if(is_numeric(strpos($_SERVER['REQUEST_URI'],'random-stuff/item_3.html'))) echo '<link rel="canonical" href="http://mydomain.com'.str_replace('random-stuff', 'assorted-things', $_SERVER['REQUEST_URI']).'" />'; ?>
<?php if(is_numeric(strpos($_SERVER['REQUEST_URI'],'random-stuff/item_4.html'))) echo '<link rel="canonical" href="http://mydomain.com'.str_replace('random-stuff', 'assorted-things', $_SERVER['REQUEST_URI']).'" />'; ?>

它可以工作,但是有很多困惑。我宁愿用一行代码来检查 item-1.html - item4.html 而不是四次检查。有谁知道如何实现这一点?

此外,请记住,item_1.html - item_4.html 并不是“随机元素”中的唯一元素,它们只是与“各种元素”共享的重复类别。谢谢!!

更新:

Marty 建议使用 glob() 函数循环遍历目录中的所有文件并仅回显我需要的文件。这是我最终想出的代码:

$dir = 'http://www.mydomain.com/random-stuff/*'; 
foreach(glob($dir) as $file) {
if($file == 'item_1.html' || 'item_2.html' ||'item_3.html' ||'item_4.html') {
echo '<link rel="canonical" href="http://mydomain.com'.str_replace('random-stuff', 'assorted-things', $_SERVER['REQUEST_URI']).'" />';
}
}

这似乎仍然行不通。谁能进一步照亮我?我是否从根本上误解了这里的某些内容?

最佳答案

这是一个更好的解决方案:- 抱歉,顺便说一句,我理解错了你的问题 -

// First, get last portion of url
$filename = end(explode('/',$_SERVER['REQUEST_URI']));

// Check if the same filename exists in 'assorted-things' directory:
if (file_exists("../assorted-things/$filename")) {
// If so, echo canonical
echo '<link rel="canonical" href="http://mydomain.com/assorted-things/' . $filename . '" />';
}

关于php - 使用 PHP 在同一类别的多个页面上生成 rel 规范(并使用 glob( ) 函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15938443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com