网站上面有二级域名怎么做301重定向

网站上面有二级域名怎么做301重定向,第1张

一、.htaccess 文件代码法

1、这种方法只合适apache服务器,支持rewrite伪静态。直接在.htaccess 文件中增加这样一段规则:

RewriteEngine On

RewriteBase /

Redirect permanent /你的目录地址 http://bbs.****com/

规则注释:当访问(/你的目录地址)原程序子目录的时候,自动重定向到你的二级域名http://bbs.****.com/,或者另外的新域名(请把域名网址修改成自己的)。

二、PHP文件代码法

编写301.inc.php文件

在网站根目录新建一个 301.inc.php 文件,写入以下代码:

<?php

$the_host = $_SERVER['HTTP_HOST']//取得当前访问域名

$url = $_SERVER['PHP_SELF']//获取域名后的字串,如:/bbs/index.php

$filename= substr( $url , strrpos($url , '/')+1 )//提取当前文件名

$querystring = $_SERVER["QUERY_STRING"]//获取问号后面的参数

if ($the_host !== 'bbs.****.com') //验证当前访问域名(就是你的新域名):若非引号内的域名,则进行如下跳转——

{

if ($querystring !== '') //验证文件名后是否有参数,如果有参数则跳转到——

{

header('HTTP/1.1 301 Moved Permanently')//发出301头部,表明永久重定向

header('Location: http://bbs.****.com/'.$filename.'?'.$querystring)//跳转到我的新域名地址【带参数】

}

elseif ($filename == 'index.php') //如果是主页则直接跳转到新域名

{

header('HTTP/1.1 301 Moved Permanently')//发出301头部,表明永久重定向

header('Location: http://bbs.****.com/')//跳转到我的新域名

}

else //如果无参数则跳转到——

{

header('HTTP/1.1 301 Moved Permanently')//发出301头部,表明永久重定向

header('Location: http://bbs.****.com/'.$filename)//跳转到我的新域名地址【不带参数】

}

}

?>

保存后,上传网站根目录。

注:代码中的二级域名bbs.****.com替换为你的域名。

PHP页面增加跳转

在每一个需要跳转的PHP页面的 <?php 下面加一行代码实现301跳转:

include("301.inc.php")//301重定向

刷新后,就可以测试效果了。至于是哪些页面,要根据你用的程序来。如Discuz 论坛通常需要跳转的是以下几个页面:

index.php,forum.php,home.php,group.php,member.php,portal.php,space.php

这就是二级目录301重定向到二级域名的详细操作步骤,以后发现其他方法也会分享。

RewriteEngine on

RewriteCond %{HTTP_HOST} ^原域名 [NC]

RewriteRule ^(.*)$ 新域名$1 [L,R=301]

上面的三行代码放到网站根目录.htaccess文件里面,如果没有这个问题就新建一个

rewrite ^/IMG/(.+) /ABC/$1 last

其实,这个需求不必用rewrite,可以直接使用alias来实现:

location /IMG/ {

alias /var/www/ABC/IMG/

}


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/57140.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-26
下一篇2023-02-26

发表评论

登录后才能评论

评论列表(0条)

    保存