|
|
网站改版,生成静态页,想把生成的根目录去掉,去百度提交了站点改版,需要做301跳转。网站是个老站用aspcms做的,php的简单直接写到代码里即可,如下:0 e5 H' Q' j/ i' e* o z( ~/ a: ^- P
8 ]: ^" I( l" b# J4 B- A用header实现单页面的301跳转" x/ E; {. ?8 ?2 |( }, r
- header( "HTTP/1.1 301 Moved Permanently" );% M- Z- W$ v' j# Q1 N% s+ N1 v3 V
- header( "Location: /my/m/" );
复制代码
$ I0 O2 t& J `5 {' b6 ?9 L7 D- Y也可以用htaccess文件来实现单页面的301,规则如下
( f& K2 _/ `" k- RewriteRule ^(\?(AXXX).php.*)$ "http://新的域名/$1" [R=301,L]
复制代码
3 I4 @) f, _4 y( P7 E, }% J+ I( k8 N. O3 Y
9 T, X+ t) Z- ~9 l+ U4 Y- O% v" J
9 F; O" m0 G- ^6 e% s, l
如果你是用的windows+iis,也非常简单。) x4 V: K" ]8 B8 J% R6 n3 ~
4 U6 }+ k, \! A6 S
首先你要在IIS中已经添加HTTP重定向,如果没有需要先添加。
4 K5 }9 @2 Z: _. i! r原网址http://www.le00.com/aspcms/news/263_2.html更改后为http://www.le00.com/news/263_2.html,首先如果没有aspcms这个文件那么先要在根目录建立一个,然后选中这个文件夹点右侧HTTP重定向。
1 X4 J* b5 N3 X& V/ `4 F
+ q+ ]9 d G- T/ C) h, B然后重定向部分直接填根目录网址http://www.le00.com/,选择301永久重定向。点击应用即可。
$ P/ J' T& }( q6 M' \+ A
, [+ z3 k) p1 R' y& i7 C" |
最后过两个月左右时间,查看下如果百度360等搜索引擎收录已经全部更改为新网址,那么就可以删除对应的部分,大功告成!windows IIS服务器中asp php asp.net网站如何做子目录301重定向就是这么简单。
+ V5 ]2 A$ Z( w% l5 `PS:最近研究发现的新的方法,不用建新的虚拟主机。3 R4 @/ U2 c" V! U: G, U
首先,推荐在IIS7.5以上使用,因为这些版本很方便安装URLRewrite,如果没有URLRewrite,先安装,具体可以参考windows2012中IIS8如何安装和使用URL重写工具-URL Rewrite。/ e [/ | _5 d2 v
打开网站根目录的web.config文件,把以下规则直接写在节点中就可以,如果没有web.config文件,需要在根目录新建一个,内容按照下面的完全复制即可,注意:所有配置规则都要写在节点中。网址就替换成你的网址即可。+ `. ?' x7 x2 d) r+ q3 Q3 ]1 d
- <?xml version="1.0" encoding="UTF-8"?>
% R2 f% s# _! i7 ^1 A) K - <configuration>
& Y' w" j x: T& B2 x - <system.webServer>
# X$ u, R1 |6 L7 P! G3 {/ H$ _ - <rewrite>& x# ~" I" N2 t0 o
- <rules>. F6 y3 D0 T3 i1 ~
- <rule name="301Redirectwww" stopProcessing="true">
8 M. e" V1 u1 {8 s& p& Q/ i; _ - <match url="(.*)" />
# _! r8 I7 ?0 {3 o9 w: X$ A# o, W - <conditions logicalGrouping="MatchAny">
) U0 o' C& j4 [+ t4 j - <add input="{HTTP_HOST}" pattern="^xp37\.com$" />
* Y; |% [% Y }3 O% [4 F3 K- W* J( h4 _ - </conditions>/ E+ s" g# ~! c1 A# P
- <action type="Redirect" url="http://www.xp37.com/{R:0}" redirectType="Permanent" />
' |! t- q1 E. R1 z3 F - </rule>
/ C- j, H: w+ G5 _) ^ - </rules>, w3 m; x& Y' g# b
- </rewrite>
0 B- j% n0 g/ ]8 A1 R( x - </system.webServer>! c" i% q0 \; w
- </configuration>
复制代码 301跳转规则,如果有web.config文件中已经存在多条规则,在其中添加如下一条即可
4 K2 h e6 r! c7 Q p. Y4 ]& X- <rules>
`9 x% R+ E" p) y" o: E' _ - <rule name="301Redirectwww" stopProcessing="true">
' l0 x, P9 q7 l6 R4 ` - <match url="(.*)" />
- H% B3 J- W/ v8 s! k0 V8 _3 H - <conditions logicalGrouping="MatchAny">
: v/ ], O0 ^% p( {% r) o) [4 @+ A - <add input="{HTTP_HOST}" pattern="^xp37\.com$" />0 O0 Q$ U. J& t7 y4 [; u. S/ J- b! W
- </conditions>; L/ o- F4 b& G3 W- c0 j9 i; W
- <action type="Redirect" url="http://www.xp37.com/{R:0}" redirectType="Permanent" />
0 A+ K0 r* N9 x7 _, K2 e2 J - </rule>
复制代码 这里名称301Redirectwww可以按照自己习惯命名。
. N: Z/ K2 g3 ~' s" J |
|