PHP怎么获取URLphp 301跳转转后的真实地址?get_headers这个函数如果地址过长就显示不出来!

本帖子已过去太久远了,不再提供回复功能。你的位置: >
> 301跳转重定向设置的意义和方法
不管你是还是企业官网或者新闻资讯等等站点,出于目的几乎都会要做一个301跳转重定向代码原因总结有两点:
一、例如把不带WWWW站点301重定向跳转到带WWW的网站防止权重分散,让URL网址统一标准化
二、防止用户流失,用户不知道你网址是带www或者是不带,在输错的情况下301跳转代码引导用户访问目标站点;
举个栗子楚盟博客网址是www.5yun.org当用户访问5yun.org时就会自动跳转到带www的站点;
让访问页面跳转的方式有很多如javascirp跳转、mete refresh跳转,php等动态语言reditect;
但301永久重定向对搜索引擎最为友好,起到了转移权重流量作用;
WordPress在Linux服务器上运行状态最佳,通过设置服务器.htaccess文件就能实现跳转;
代码非常简单就两行代码,规则如下:
[dm lang=”php”]
RewriteCond %{http_host} ^5yun.org [NC]
RewriteRule ^(.*)$ http://www.5yun.org/$1 [R=301,L]
当然前提是你的主机得支持伪静态.htaccess文件规则才能生效;
除了这个方法,主机控制面板、WordPress SEO插件也都能实现跳转的目的;
如果因为各种坑爹理由无法301跳转,可以尝试终极无敌大招新建一个站点写一个index.php文件插入如下代码:
[dm lang=”php”]
这样同样也行,该方法太坑爹尽量不要考虑;
转载请注明: &
与本文相关的文章关键字:    
当前位置: >
php 获取301跳转后真实的url
php 获取301跳转后真实的url
网友对“php 获取301跳转后真实的url”的评论
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
& 下一篇:
本类热门资讯
增值电信业务经营许可证:苏B2-CopyRight ©
All Rights reserved.查看: 18103|回复: 22
关于改版后怎么将每个页面进行301跳转的方法请教?
本帖最后由 aa2015813 于
13:38 编辑
问题:关于改版后怎么将每个页面进行301跳转的方法请教。
详情:虽然百度有很多介绍网站改版需要301跳转的教程,但是基本都是介绍不同域名之间的整站301跳转,我事先将百度收录的所有URL记录下来,旧的改版工具可以提交每一条URL变化规则以及正则表达式,我想问现在应该怎样更好的将每一条百度收录的URL进行301跳转,是用htaccess的语法将每个旧的URL跳转到新的URL还是有什么其他的方法呢?
站长继续补充:服务器是VPS,系统是Windows 2003,使用IIS,但是安装了ISAPI_Rewrite,所以可以支持htaceesss。网站域名没变,但是网站改版后URL重新进行了规划,和之前网站的URL规则完全不同,所以无法写什么正则表达式,只能手动记录百度收录的所有URL,然后一条条进行301跳转。
1、改版后的网站如果使用的是PHP程序,有什么能将每一条URL分别301跳转到不同的URL的好方法?
2、改版后的网站如果使用的是JAVA程序,有什么能将每一条URL分别301跳转到不同的URL的好方法?
在网站运营过程中,经常遇到改版的情况,有时需要修改部分网页的目录结构,这时需要将旧的网页301到新网页。
举个实际的例子。
原来的tag系统网页结构是:tag列表网址——域名/tags/;各个tag网址——域名/tags/tagid/;
改版后的tag系统网页结构:tag列表网址——域名/chanpin/;各个tag网址——域名/chanpin/tag拼音/
设置301转跳分两步。
第一步:设置伪静态,将旧网址整体转跳到一个php页面
例子中的伪静态规则是这么写的 ...
冒险岛私服
本帖最后由 hanbelt 于
20:29 编辑
在网站运营过程中,经常遇到改版的情况,有时需要修改部分网页的目录结构,这时需要将旧的网页301到新网页。
举个实际的例子。
原来的tag系统网页结构是:tag列表网址——域名/tags/;各个tag网址——域名/tags/tagid/;
改版后的tag系统网页结构:tag列表网址——域名/chanpin/;各个tag网址——域名/chanpin/tag拼音/
设置301转跳分两步。
第一步:设置伪静态,将旧网址整体转跳到一个php页面
例子中的伪静态规则是这么写的:
RewriteRule ^tags/(.*)/$ tag301.php?tagid=$1复制代码
这样,就将所有旧页面都跳到了 域名/tag301.php 文件,接下来就通过php获取参数,将旧链接301转跳到新页面了。
第二步、PHP设置
在上面伪静态规则涉及的地方新建一个php文件,此php文件的作用有两个:一是网址转换,利用获取的参数将旧网址转换成新网址;二是实现301转跳。
php代码是这么写的:
function ReturnNewUrl($r){
& && &&&//具体代码省略
& && &&&return $
}
$newurl=ReturnNewUrl($_GET);
header(&HTTP/1.1 301 Moved Permanently&);
header(&location:$nweurl&);
以上省略了具体的函数写法,不同情况对应的转换网址函数不同,需要单独编写。
至此,301转换完成。可以通过站长之家的“页面HTTP状态查询”工具查询旧网址状态。
至于其它编码的网站,原理是一样的。
【以上方法由pmume提供,使用帝国cms的站长知道此人的应该比较多】
----------------------
楼主帖子中提到,新旧网址的规则完全是混乱的,这个可能性不大,或许情况比较多,完全没有规则是不可能,总能写个函数将新旧网址对应起来,实在不行,那就手动写一个数组。
$url_r=array(
array(&旧网址1&,&新网址1&),
array(&旧网址2&,&新网址2&),
)
复制代码
通过查找数组,就能找到新网址
说的太好了!&
配置设置即可。
百度站长平台改版功能是否可行呢?没用过 呵呵!
同楼主,求解
我也遇到过这样的问题,通求答案
只能去寻找域名之间的规律~进行设置!如果没有规律可寻找 那么很悲剧的要很大的工作量
301跳转肯定会导致站点会有所损失
总的来说,改版用301,是较为常见的方法,也会有所作用
除了301之外,站长工具利用之外
还可以在页面还可以利用好 canonical 标签
你用的服务器是什么?iis 还是apache?
你好,我是这贴提问者,看了一下回复,感觉自己提问时候没有说清细节,导致回答者很多都是问细节。不知道能否请版主在1楼补充说明一下呢?
服务器是VPS,系统是Windows 2003,使用IIS,但是安装了ISAPI_Rewrite,所以可以支持htaceesss。网站域名没变,但是网站改版后URL重新进行了规划,和之前网站的URL规则完全不同,所以无法写什么正则表达式,只能手动记录百度收录的所有URL,然后一条条进行301跳转。
1、改版后的网站如果使用的是PHP程序,有什么能将每一条URL分别301跳转到不同的URL的好方法?
2、改版后的网站如果使用的是JAVA程序,有什么能将每一条URL分别301跳转到不同的URL的好方法?
OK 我去补充&
Powered by

我要回帖

更多关于 nginx 301跳转 的文章

 

随机推荐