|
|
网站改版,生成静态页,想把生成的根目录去掉,去百度提交了站点改版,需要做301跳转。网站是个老站用aspcms做的,php的简单直接写到代码里即可,如下:4 P- ~* ]2 }1 g* p5 f
0 Q8 e( v% A a. y9 z
用header实现单页面的301跳转
, P2 ]$ \: J+ s- p# {; @- header( "HTTP/1.1 301 Moved Permanently" );
( e* E0 U& e8 B7 Z2 k - header( "Location: /my/m/" );
复制代码 |" X' d+ n. C; X0 t
也可以用htaccess文件来实现单页面的301,规则如下
# M0 }' t: J3 w- _( Z2 b0 l- RewriteRule ^(\?(AXXX).php.*)$ "http://新的域名/$1" [R=301,L]
复制代码 1 E" Y* Y7 l: v$ ?$ F. V
( a" t3 l0 B. Q9 G% y5 s* F. j7 }3 x" q& h8 M( ~- i
! j) c7 C! o2 n8 J2 v
如果你是用的windows+iis,也非常简单。
; ~0 B- n( Y. Z( ~
; U0 l1 Y2 {/ h1 v7 T首先你要在IIS中已经添加HTTP重定向,如果没有需要先添加。0 O. |, B" a+ N& \. }1 T3 c+ E1 j
原网址http://www.le00.com/aspcms/news/263_2.html更改后为http://www.le00.com/news/263_2.html,首先如果没有aspcms这个文件那么先要在根目录建立一个,然后选中这个文件夹点右侧HTTP重定向。
* J- c5 [: R" J
! P3 ^$ e# X8 w$ f0 D( `: z/ P
然后重定向部分直接填根目录网址http://www.le00.com/,选择301永久重定向。点击应用即可。
N8 d, |8 D% s' `; D
0 E' f1 k! q `0 Z最后过两个月左右时间,查看下如果百度360等搜索引擎收录已经全部更改为新网址,那么就可以删除对应的部分,大功告成!windows IIS服务器中asp php asp.net网站如何做子目录301重定向就是这么简单。/ B4 V; O8 j2 ]) u9 ~8 i: D
PS:最近研究发现的新的方法,不用建新的虚拟主机。/ O" e1 \/ q, x$ _' `# N
首先,推荐在IIS7.5以上使用,因为这些版本很方便安装URLRewrite,如果没有URLRewrite,先安装,具体可以参考windows2012中IIS8如何安装和使用URL重写工具-URL Rewrite。
0 h9 x% {& d: s- R. p打开网站根目录的web.config文件,把以下规则直接写在节点中就可以,如果没有web.config文件,需要在根目录新建一个,内容按照下面的完全复制即可,注意:所有配置规则都要写在节点中。网址就替换成你的网址即可。
* T/ J% o/ z/ K8 \# V; X- g- <?xml version="1.0" encoding="UTF-8"?>
5 A) u# I. g6 M7 g: ^+ | - <configuration>" H ?) r% n3 u5 k( C: `- E5 ^
- <system.webServer>
* m' A, O, }! l) S& R; r" l9 T& I$ e0 L - <rewrite>
+ s! l, H% y, O f) N - <rules>
; {) n! F; @. n) v' V3 B2 F" O - <rule name="301Redirectwww" stopProcessing="true">
) X5 i1 f7 I( f" J$ W: E - <match url="(.*)" />
. j" O z0 y) d. m% J - <conditions logicalGrouping="MatchAny">
) m5 I& T9 ?& m3 d1 k - <add input="{HTTP_HOST}" pattern="^xp37\.com$" />
6 @( t& M" F# i - </conditions>+ O4 U9 I% |7 K Q8 h+ O" G
- <action type="Redirect" url="http://www.xp37.com/{R:0}" redirectType="Permanent" />
& o+ b2 R0 y4 D% l - </rule>& a3 Y/ |* o5 o3 c0 @/ F2 o f; o+ m0 S- ~
- </rules>
$ l4 G7 A7 |' \+ k+ m$ A - </rewrite>
" v" C# D' Z* A8 p" E8 c - </system.webServer>% B5 j1 J. |" N# U. q
- </configuration>
复制代码 301跳转规则,如果有web.config文件中已经存在多条规则,在其中添加如下一条即可
, G' j, L, @* S }- |: p- <rules>
' E* F* [; v+ l9 R - <rule name="301Redirectwww" stopProcessing="true">
3 e5 H9 `" f, ?4 b4 H8 ~. E) K4 Q - <match url="(.*)" />
6 i! v4 D) R& d4 n& d% F0 g - <conditions logicalGrouping="MatchAny">
" y) Z0 `9 W. {$ i8 z( |1 M: C - <add input="{HTTP_HOST}" pattern="^xp37\.com$" />; [( \# Z( y/ U5 }3 x
- </conditions>
0 R) _2 e" n' N/ E; V$ v. p; ^ - <action type="Redirect" url="http://www.xp37.com/{R:0}" redirectType="Permanent" />; o) f* v( B$ Q5 Z! v; A
- </rule>
复制代码 这里名称301Redirectwww可以按照自己习惯命名。
$ U4 U" ?" P' o) O) D# ^ |
|