1949啦网--小小 痛苦,是因为能力和欲望不匹配造成的

301重定向详解

IIS的301永久重定向设置如下图

IIS重定向参数
  1、$S-将请求的 URL 的后缀传递给新的 URL。后缀是用重定向的 URL 代替之后,初始 URL 中所保留的部分。如果未设置EXACT_DESTINATION 标志,则结果目标 URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。
  2、$P-将初始 URL 中的参数(如 querystring 参数)传递至新的 URL,不包括问号 (?)。
  3、$Q-将初始 URL 中的参数(如 querystring 参数)传递至新的 URL,包括问号 (?)。
  4、$V-传递请求的 URL,不包括服务器名和任何参数。要包含参数,可使用 $P 或 $Q 变量及 $V 变量。如果未设置EXACT_DESTINATION 标志,则结果目标 URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。<!--more-->
  参数还有很多,基本上最常用的就是$S和$Q,任意网址想要实现301的永久重定向只需设置$S和$Q就可以了 。

apache的301重定向
采用“mod_rewrite”模块, 在.htaccess文件中增加301重定向指令:

RewriteEngine on RewriteCond %{http_host} ^qiquanji.com [NC] RewriteRule ^(.*)$ http://www.www.qiquanji.com/$1 [L,R=301] 

nginx的301重定向
在nginx.conf文件的server字段增加:

if ($host != 'www.qiquanji.com'){                 rewrite ^/(.*)$ http://www.qiquanji.com$1 permanent; } 

意思是只要不是www.qiquanji.com的域名,全跳转到www.qiquanji.com域名上
如果你只想设置不带www的域名跳转到www的域名上。而其他设置的域名正常
请替换成:

if ($host = 'qiquanji.com'){ rewrite ^/(.*)$ http://www.qiquanji.com$1 permanent; } 

用代码实现301跳转
ASP下的301转向代码

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% Response.Status="301 Moved Permanently" Response.AddHeader "Location","https://www.qiquanji.com/" Response.End %> 

ASP.Net下的301转向代码

<script runat=”server”> private void Page_Load(object sender, System.EventArgs e) { Response.Status = “301 Moved Permanently”; Response.AddHeader(”Location”,”www.qiquanji.com“); } </script> 

PHP下的301转向代码

header(”HTTP/1.1 301 Moved Permanently”); header(”Location: www.qiquanji.com”); exit(); 

CGI Perl下的301转向代码

$q = new CGI; print $q->redirect(”www.qiquanji.com”); 

JSP下的301转向代码

<% response.setStatus(301); response.setHeader( “Location”, “www.qiquanji.com” ); response.setHeader( “Connection”, “close” ); %>

原文链接:https://www.qiquanji.com/post/5148.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

微信扫码关注

更新实时通知

作者:xialibing 分类:高级教程 浏览: