目录:
- 1、php网站建设怎么做301重定向设置
- 2、网站改版301重定向怎么做
- 3、aspx 网站怎么做301重定向?
- 4、tomcat 或者 jsp 怎么实现301重定向
- 5、想问一下301重定向怎么做,就是A域名跳转到B域名。
- 6、socket访问页面时返回了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重定向的,用到的情况也是很少,大家知道怎么做就可以了。
当你发现自己的才华撑不起野心时,就请安静下来学习吧
网站改版301重定向怎么做
301跳转通常用在网站换域名和为了保持链接统一性所用的。比如原来的域名现在换成,用了301跳转后,访问就会自动变成。下面摘抄一下设置301的代码:301跳转代码全集(ASP|PHP|JSP|.NET):
IIS下301设置:
Internet信息服务管理器 - 虚拟目录 - 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。
ASP下的301转向代码
%@ Language=VBScript %
%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”, “”
%
ASP.Net下的301转向代码
script runat=”server”
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”;
Response.AddHeader(”Location”,””);
}
/script
PHP下的301转向代码
header(”HTTP/1.1 301 Moved Permanently”);
header(”Location: ”);
exit();
CGI Perl下的301转向代码
$q = new CGI;
print $q-redirect(””);
JSP下的301转向代码
%
response.setStatus(301);
response.setHeader( “Location”,“” );
response.setHeader( “Connection”,“close” );
%
Apache下vhosts.conf中配置301转向,为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:
VirtualHost *:80
ServerName
DocumentRoot
/VirtualHost
VirtualHost *:80
ServerName xxx.com
RedirectMatch permanent ^/(.*)
/VirtualHost
Apache下301转向代码,新建.htaccess文件,输入下列内容(需要开启mod_rewrite):1)将不带WWW的域名转向到带WWW的域名下:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^xxx.com [NC]
RewriteRule ^(.*)$ [L,R=301]
2)重定向到新域名
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ [L,R=301]
3)使用正则进行301转向,实现伪静态
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^news-(.+)\.html$ news.php?id=$1
将news.php?id=123这样的地址转向到news-123.html
301设置好这后,就要检测一下301是否生效。这里有两个在线检测301重定向的工具:
国内版:
国外版:
aspx 网站怎么做301重定向?
在XXX.aspx.cs实现301重定向代码
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
//注明为301错误,即永久重定向该页面
Response.StatusCode = 301;
Response.Status = "301 Moved Permanently";
//指定301错误后重定向的网址
Response.RedirectLocation = "";
//也可用以下代码指定301错误后重定向的网址
//Response.AddHeader("Location", "");}
在Global.asax.cs实现301重定向代码
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpApplication application = (HttpApplication)sender;
HttpContext context = application.Context;
context.Response.Status = "301 Moved Permanently";
context.Response.AddHeader("Location", "");
//要深入的应用可参照 context.Request.RawUrl
}
tomcat 或者 jsp 怎么实现301重定向
在jsp发布容器中配置:
可以利用Apache的mod_rewrite对URL进行重写或重定向。需要以下几步:
1、首先确保开启了mod_rewrite功能。
用文本编辑器打开Apache安装目录\conf\httpd.conf,找到“#LoadModule rewrite_module modules/mod_rewrite.so”这行,去掉前面的“#”;
继续查找“AllowOverride None”,修改为“AllowOverride All”;
然后,重启Apache即可。
2、在你需要URL重定向的网站根目录下放一个.htaccess文件,文件名是.htaccess,Windows下不能直接建立,你可以用记事本另存为。
3、在.htaccess中通过正则表达式重定向到需要的页面。示例如下:
将不带www的顶级域名301重定向到带www的域名
301重定向(或叫301跳转、301转向)是用户或搜索引擎蜘蛛向网站服务器发出访问请求时,服务返回的HTTP数据流中头信息(header)部分状态码的一种,表示本网址永久性转移到另一个地址。
想问一下301重定向怎么做,就是A域名跳转到B域名。
301重定向方案合集
asp301,php301,伪静态301,ASP.Net的301,JSP的301,Apache做301
IIS下直接301设置
Internet信息服务管理器 - 虚拟目录 - 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。
这个需要服务器直接操作,部分空间商不会给做。介于空间管理程序和方法各不相同,例如之后的WEB操作管理 有可能导致301间接失效,所以如果不是自己独立服务器 不建议直接操作。如果是咱们云主机系列,可直接提交工单稍等即可。
条条大路通罗马咱还有其他备用方案:
1、服务器装有isapi-rewirte组件,用户间的伪静态完全独立,互不干涉 使用通用的规则 自定义程度较高,可以直接在原伪静态规则文件httpd.ini 加上301跳转代码,立即生效。
【详解:利用 ISAPI Rewrite 做301永久重定向】
[ISAPI_Rewrite]
CacheClockRate 3600
RepeatLimit 32
RewriteEngine On
RewriteCond Host: ^boaer\.com$
RewriteRule (.*) http\://www\.boaer\.com$1 [I,RP]
注:----URL标准化的301重定向(以上代码)需要写在其他URL-rewrite代码之前。----
2、ASP下的301转向代码
%@ Language=VBScript %
%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”, “.*****/***/301/”
%
3、转向代码
script runat=”server”
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”;
Response.AddHeader(”Location”,”.*****.cn/***/301/“);
}
/script
4、PHP下的301转向代码
header(”HTTP/1.1 301 Moved Permanently”);
header(”Location: .*****.cn/***/301/”);
exit();
5、CGI Perl下的301转向代码
$q = new CGI;
print $q-redirect(”.*****.com/”);
6、转向代码
%
response.setStatus(301);
response.setHeader( “Location”, “.*****.cn/” );
response.setHeader( “Connection”, “close” );
%
7、转向代码
新建.htaccess文件,输入下列内容(需要开启mod_rewrite):
1)将不带WWW的域名转向到带WWW的域名下
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^lesishu.cn [NC]
RewriteRule ^(.*)$ .*****.cn/$1 [L,R=301]
2)重定向到新域名
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ .*****.cn/$1 [L,R=301]
3)使用正则进行301转向,实现伪静态
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^news-(.+)\.html$ news.php?id=$1
将news.php?id=123这样的地址转向到news-123.html
8、Apache下vhosts.conf中配置301转向
为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:
VirtualHost *:80
ServerName www.*****.cn
DocumentRoot /home/lesishu
/VirtualHost
VirtualHost *:80
ServerName lesishu.cn
RedirectMatch permanent ^/(.*) .*****.cn/$1
/VirtualHost
Apache下除了以上2种方法,还有其他配置方法和可选参数,建议阅读Apache文档。
祝:所有站长 网站火火 每天都有好心情!!!
301转向情况检测
socket访问页面时返回了301重定向的代码,我该怎么解决
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.URLEncoder;
public class GetYinYuan {
public static String getResult() {
StringBuffer ** = new StringBuffer();
String boy = "张三";
String girl = "李四";
try {
String data = "boy=" + boy + "girl="
+ girl;
String hostname = "";
int port = 80;
InetAddress iaddr = InetAddress.getByName(hostname);
Socket socket = new Socket(iaddr, port);
String path = "/yinyuan/yuanfen.asp?" + data;
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
socket.getOutputStream(), "GBK"));
bw.write("GET " + path + " HTTP/1.1\n");
bw.write("Host:\n");
bw.write("Connection:close\n");
bw.write("Accept-language:zh-cn\n");
bw.write("Accept-language:zh-cn\n");
bw.write("\n");
// bw.write(data);
bw.flush();
BufferedReader br = new BufferedReader(new InputStreamReader(socket
.getInputStream(), "GBK"));
String line;
boolean flag = false;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
bw.close();
br.close();
} catch (Exception e) {
e.printStackTrace();
}
return **.toString();
}
public static void main(String[] args) {
getResult();
}
}
评论前必须登录!
注册