|
|
网站改版,生成静态页,想把生成的根目录去掉,去百度提交了站点改版,需要做301跳转。网站是个老站用aspcms做的,php的简单直接写到代码里即可,如下:
7 j+ q6 p9 a, X7 ?0 }4 u5 X+ N+ c; c% N- P7 d$ q
用header实现单页面的301跳转
2 g6 f2 N0 Y0 Q/ `- header( "HTTP/1.1 301 Moved Permanently" );
. a& G; |8 s5 x4 j3 R - header( "Location: /my/m/" );
复制代码
2 f2 M2 D% V% y$ r0 _7 u, r也可以用htaccess文件来实现单页面的301,规则如下
$ u8 [* F5 w% J1 r7 x* Y* h# V- RewriteRule ^(\?(AXXX).php.*)$ "http://新的域名/$1" [R=301,L]
复制代码 ( n2 D* F% [& Y. [
: }7 I3 Q5 f2 B0 u; {4 y/ W9 {
$ y9 N: p! f! Q
7 B( P: x. w/ j! v; n如果你是用的windows+iis,也非常简单。8 r" T" O, n0 G, ?
- q' A- `, l% ^/ a! [# s" b1 Q( P6 H
首先你要在IIS中已经添加HTTP重定向,如果没有需要先添加。
: r1 U4 P6 I8 z0 U* N原网址http://www.le00.com/aspcms/news/263_2.html更改后为http://www.le00.com/news/263_2.html,首先如果没有aspcms这个文件那么先要在根目录建立一个,然后选中这个文件夹点右侧HTTP重定向。
8 ]2 W- u& n ^4 w
! {7 V2 C0 k6 ^$ n5 b: ~9 n然后重定向部分直接填根目录网址http://www.le00.com/,选择301永久重定向。点击应用即可。4 p' s0 ]% m& R4 H
A( Q7 ^. H: |; D最后过两个月左右时间,查看下如果百度360等搜索引擎收录已经全部更改为新网址,那么就可以删除对应的部分,大功告成!windows IIS服务器中asp php asp.net网站如何做子目录301重定向就是这么简单。/ K3 m- r) t+ {. }
PS:最近研究发现的新的方法,不用建新的虚拟主机。
4 z, g7 ]; ^ `' Z) E# \首先,推荐在IIS7.5以上使用,因为这些版本很方便安装URLRewrite,如果没有URLRewrite,先安装,具体可以参考windows2012中IIS8如何安装和使用URL重写工具-URL Rewrite。/ [& L( \) t/ h5 j3 t7 C, w
打开网站根目录的web.config文件,把以下规则直接写在节点中就可以,如果没有web.config文件,需要在根目录新建一个,内容按照下面的完全复制即可,注意:所有配置规则都要写在节点中。网址就替换成你的网址即可。/ T7 R& V& ]# n3 j( p: y7 P5 H
- <?xml version="1.0" encoding="UTF-8"?>
) m+ @- B/ Z9 Y3 \$ @, ` - <configuration>) ]2 F/ V- V8 x. Q$ U
- <system.webServer>! r2 W. ~$ e3 ^0 f ^8 C# K
- <rewrite>
+ n' w+ j+ X. Q" _ B5 f - <rules>% l9 B/ |+ \9 H7 A- w" a( z3 _
- <rule name="301Redirectwww" stopProcessing="true">
9 C- R9 I9 U1 y9 A* T6 D - <match url="(.*)" />
4 ?& \* S" o; L! x4 ~' R - <conditions logicalGrouping="MatchAny">
4 O2 G4 |7 k0 ~* \: @4 y - <add input="{HTTP_HOST}" pattern="^xp37\.com$" /># \* A- c* @. q. e, q3 _+ y
- </conditions> J4 i ]. N" u$ D9 y% G
- <action type="Redirect" url="http://www.xp37.com/{R:0}" redirectType="Permanent" />
% ^4 J2 |4 t" }. G* I9 V/ p9 A - </rule>
0 w/ D; u1 s- c: `$ @. R7 N2 S2 N - </rules>) p: w- {4 K2 ?4 b
- </rewrite>* T' Z& Y2 K& L" w% B) d
- </system.webServer>& v P7 y- ~' q# k
- </configuration>
复制代码 301跳转规则,如果有web.config文件中已经存在多条规则,在其中添加如下一条即可
# q0 U. c' K3 ]2 A0 J3 Q9 k- <rules>2 T! M1 I5 _% ^% X+ n
- <rule name="301Redirectwww" stopProcessing="true">1 |- `4 W' E; m: ?0 f
- <match url="(.*)" />: v5 H G& A" N) V; B
- <conditions logicalGrouping="MatchAny">% D) F% W( k1 A
- <add input="{HTTP_HOST}" pattern="^xp37\.com$" />8 f8 r* E+ q7 j" v% D
- </conditions>
; ^4 o( a( O, v/ [! L - <action type="Redirect" url="http://www.xp37.com/{R:0}" redirectType="Permanent" />8 J2 T/ o/ p6 F) \5 F3 o* _
- </rule>
复制代码 这里名称301Redirectwww可以按照自己习惯命名。
6 \: Q7 I3 q& G |
|