本文目录一览:
- 1、php网站建设怎么做301重定向设置
- 2、有人知道做php程序的301重定向吗?拜托各位了 3Q
- 3、如何通过PHP实现域名跳转
- 4、php如何获取301重定向前的域名
- 5、php location 默认是301还是302
- 6、phpcms 伪静态url怎么设置301
php网站建设怎么做301重定向设置
做网站优化,我们基本知道url标准化需要采用301重定向。重定向说直白点,就是通过方法将各种网络请求重新定个方向转到其它位置,也就是通常说的,网页跳转。那么如何设置和制作301重定向呢?下面列举几个比较常见的情况:
步骤/方法
第一种:对整个网站的多个页面设置301重定向方法
如果要对整个网站设置301重定向的话,建议大家还是单独建立一个301.php,文件名可以自己取。代码如下:
?php
$the_host = $_SERVER['HTTP_HOST']; //取得进入所输入的域名[网址:像]
$the_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; //判断地址后面部分
$the_url = strtolower($the_url); //将英文字母转成小写
if($the_url=="/index.php") //判断是不是首页
{
$the_url=""; //如果是首页,赋值为空
}
if($the_host !== '')//如果域名不是带www的网址那么进行下面的301跳转
{
header('HTTP/1.1 301 Moved Permanently'); //发出301头部
header('Location:'.$the_url); //跳转到带www的网址
}
?
注 意一下:代码if($the_host !== '')中的“!==”是不完全等于的意思,也可以用“!=”不等于,这样,除了可以将siyuan-seo.com 跳转到带www的网址,还可以把所有绑定到这个空间的域名跳转的。
301.php文件写好后,用ftp软件上传到网站根目录下,一般就是web文件下。那么怎么调用呢?其实也很简单。
在需要设置301重定向的页面中调用301.php,代码:?php include("301.php"); //301重定向 ?将这个代码放到你所有网页的最前面,这样就做好了。如下图:
2
第二种:网站单个页面设置301重定向方法
如果仅仅是网站中某个单页面进行301重定向设置,其实很简单,只要在PHP页面的头部加上下面两行代码就可以了:
?php
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: ");
?如下图:
其实,大多数情况下,我们一般是不需要设置301重定向的,用到的情况也是很少,大家知道怎么做就可以了。
当你发现自己的才华撑不起野心时,就请安静下来学习吧
有人知道做php程序的301重定向吗?拜托各位了 3Q
如果你的cms里有通用文件的话,加入以下代码//加入**始$the_host = $_SERVER['HTTP_HOST'];//取得当前域名 $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面是否有参数 if($the_host != ' ')//把这里的域名换上你想要的 { header('HTTP/1.1 301 Moved Permanently');//发出301头部 header('Location: '.$request_uri);//跳转到你希望的地址格式 }//加入代码结束。。。注意改一下里面的域名哈 查看原帖
如何通过PHP实现域名跳转
域名跳转也就是平常所说的网站301重定向,由原来网站指向A地址的,但你想输入网址后,转到B地址上,这就是域名跳转,也称为Url转发,一般适用于在多个域名绑定同一个建站CMS的根目录的时候,在做搜索引擎排名的时候和避免让用户记住多个域名的情况下应用。
域名的跳转分为几种情况。有301跳转(301是永久重定向),也有302临时域名转移。一般我们做跳转的时候都是选择做301跳转。因为就优化角度来说,302不适用于网站优化。
进行301跳转的话有三种方法。
第一种:web服务器做301跳转。
这种情况适用于独立服务器或者VPS使用。设置方法(以IIS6.0服务器为例):
远程连接到你的服务器。然后打开IIS,在网站那里,右键-属性-网站-IP地址那里点编辑增加一个站点,增加一个站点,绑定的一下主机头,也可以绑定多个闲置域名。
打开IIS,首先新建立一个站点,随便对应一个目录。这个目录下可以为空。在欲重定向的网页或目录上按右键;选中“重定向到URL”;在对话框中输入目标页面的地址;切记,记得选
中“资源的永久重定向”;当然,最后要点击“应用”,完成。
其他Apache服务器进行跳转的话,可以进行第二种情况。
第二种:代码做301跳转。
这种情况比较常用的。也是最为广泛快捷的,就是在你需要跳转的网站根目录代码里面加上跳转的代码,跳转到你的目标网站。
每个CMS的301跳转代码设置方法都不一样,具体可以根据你网站所使用的CMS到网上搜索相应的代码加入到相应的位置即可。有的是加在index.php/index.htm等文件,有的是直接添加在伪静态文件,这个需要自行判断。
第三种:直接在域名做301跳转。
1、首先解析主域名,主机记录为@,记录类型为CNAME
2、接着解析带www的域名,添加记录,记录类型为CNAME
3、记录值依旧选择服务器的IP地址
4、完成后需要等待域名解释的DNS缓存才可以生效,生效后输入主域名将直接跳转到带www的域名。
一般在做跳转的时候,我们都是推荐使用前面两种方法进行做域名的跳转,尤其第一种办法,最简单快捷。而且可以立马生效。
php如何获取301重定向前的域名
首先找到你网站的入口文件,一般都是在根目录里的 index.php 这个文件,用编辑器打开它,在这里推荐您使用 Dreamweaver 这个软件,功能很强大的,如果您电脑上没有安装有这个软件,也可以使用记事本,这就是最简单的编辑器了。
打开了,在所有代码的最前面加上以下代码即可,当然,所指的最前面没有包涵 PHP 标识符,如果连这个都没有了,代码是无法运行的,因为它是 PHP 语言。
先上张图看看吧。
使用说明:
$getUrl= $_SERVER['SERVER_NAME'] 是获得当前输入的 url 地址,也就是说访问者在浏览器地址里输入的域名地址。
$jumpUrl 这个变量是要跳转到的 url 地址,也就是您网站的主域名。
如果您的网站是多个域名访问的,可以保留判断是否是主域名这段代码,如果你只有一个域名进行访问,可以把这一段删除即可,关于如何使用这段代码,在笔者贴上来的代码里有说明,按照说明进行修改就行了。
这些设置好了之后,进行保存,上传到您网站覆盖原来的 index.php 文件,这样,就做好了 301 跳转了。
笔者就拿 和 这两个域名来进行说明,当访问者在浏览器的地址栏输入 a.com 时,自动跳转到 ,当访问者在浏览器的地址栏输入 b.com ,或者输入 时,自动跳转到 。
在这里使用到 $_SERVER['SERVER_NAME'] 的 PHP 系统函数获得传进来的域名 URL 。
PHP 里的 substr() 是用来截取字符串的一部分,应该会使用的吧,里面主要有三个参数,第一个参数是传进来的字符串,这个参数是必须的;第二个参数是从第几个开始截取,也是必须的;第三个是截多长的字符串,是可选的。
代码片段:
$getUrl= $_SERVER['SERVER_NAME'];// 获得当前输入的 url
$jumpUrl= 'Location:';// 要进行跳转的 url
if(substr($getUrl,0,4)!='www.'){// 判断 url 中是否带 www
redirect($jumpUrl);
}
if(substr($getUrl,0,1) == 'b' || substr($getUrl,4,1) == 'b'){// 判断是否是主域名
redirect($jumpUrl);
}
/* 如果有多个域名,可以继续添加
* 不想多解释,你应该明白的,
*/
// 跳转函数
function redirect($jumpUrl){
header('HTTP/1.1 301 Moved Permanently');
header($jumpUrl);// 301 跳转到设置的 url
exit();
}
php location 默认是301还是302
默认是302
php使用重定向写法一般是header+Location
?php
header("Location: ");
exit;
?
我们可以在浏览器调试查看到返回状态码Status Code默认是302
若要指定状态码为301则可以写成
?php
header("Location: ",TRUE,301);
exit;
?
phpcms 伪静态url怎么设置301
一个文章类网站换了全新的域名,原来的域名不方便记忆
因为关键词在百度首页前一、二名,所以就用了301重定项
把原有的域名 转到
之前没有做过301重定项,花一个小时在网上找教程,期间也少不了一番折腾
phpcms v9 301跳转设置方法一:
仅支持Apache服务器设置
在根目录下找到.htaccess文件,并将以下代码写入进去,保存上传即设置成功,如下图
1.jpg
代码如下,直接复制后,更改域名即可
RewriteEngine on
RewriteCond %{HTTP_HOST} !^linchangbing.com$ [NC]
RewriteRule ^(.*)$ [L,R=301]
注意将上面的域名替换为你自己的域名哦,另外以上代码是将www域名跳转到不带www的域名上,你如果的首选域名是带www的,那么在以上代码加上www即可
phpcms v9 301跳转设置方法二:(空间不支持伪静态)
phpcms v9 301跳转设置的另一种方法即是在根目录下的index.php文件中设置,如下图
1.png
代码如下,直接复制后,更改域名即可
$the_host = $_SERVER['HTTP_HOST'];//取得当前域名
if(strtolower($the_host) != '')//把这里的域名换上你想要的
{ $URIRedirect=$_SERVER['REQUEST_URI']; //获取域名后的参数
if(strtolower($URIRedirect)=="/index.php")//判断是参数为/index.php就显示为/
{
$URIRedirect="/";
}
header("HTTP/1.1 301 Moved Permanently");//发出301头部
header("Location: ".$URIRedirect);//跳转到你希望的地址格式
exit();
}
"错误 310 (net::ERR_TOO_MANY_REDIRECTS):重定向过多。"问题
解决方法很简单,即直接在后把把网站的缓存重新生成一下就行了
phpcms v9 设置301后,内页转向了动态链接
原因是方法一中的代码放在了伪静态规则后面
解决:把代码放在伪静态规则前面就可以了
IIS下利用伪静态httpd.ini来实现301重定向
一、没有在后台开启伪静态,使用的是静态页面或动态页面
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond Host: ^
RewriteRule (.*) [I,RP]
二、如果在网站后台开启了伪静态
编辑http.ini文件,在第4行 RepeatLimit 32 下新起一行(注意不要动下面的代码),把下面这段复制粘贴到新起的那行:
RewriteCond Host: ^
RewriteRule (.*) [I,R]