今天在4414论坛看到一位使用ZBLOG的站长通过伪静态规则设置301跳转出现部分问题,所有页面都跳转到首页,本文给出一个最简单的解决方法。直接通过PHP代码进行301跳转。
一、该站长的原贴:
按照主机301的设置了规则
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^顶级域名$ [NC,OR]
RewriteRule ^(.*)$ 3w域名/$1 [R=301,L]
</IfModule>
首页是正常跳转了,详情页咋也跳转到首页了,忘记哪里修改了,有哪位坛友会吗,我之前是记得修改的,现在忘记了
二、我给出的解决方法
直接在index.php最前面加一行代码即可 :
// 获取当前页面的完整URL
$currentUrl = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
// 将a.com替换为b.com
$newUrl = str_replace('a.com', 'b.com', $currentUrl);
// 执行301重定向if ("$newUrl" != "$currentUrl"){
header('HTTP/1.1 301 Moved Permanently');
header('Location: ' . $newUrl);
exit;
}







