|
|
网站改版,生成静态页,想把生成的根目录去掉,去百度提交了站点改版,需要做301跳转。网站是个老站用aspcms做的,php的简单直接写到代码里即可,如下: X! z/ T h, u# ]
_% d* i7 n5 y1 B7 C4 s0 Q
用header实现单页面的301跳转4 f; Q4 I# U& V
- header( "HTTP/1.1 301 Moved Permanently" );
! r( [8 O+ V3 o8 k+ N! p- L - header( "Location: /my/m/" );
复制代码 # c S- j4 P/ ?5 S
也可以用htaccess文件来实现单页面的301,规则如下, \' F8 A$ `1 I5 I1 Q. g. O; ?$ n; I
- RewriteRule ^(\?(AXXX).php.*)$ "http://新的域名/$1" [R=301,L]
复制代码 # G4 \0 S' A8 k) L7 T
, ~5 N( D% J+ T/ x; p; `0 r. L1 p; i3 M! v/ }8 M5 {
" p: c& J9 u' _如果你是用的windows+iis,也非常简单。
5 {0 M% m7 o) J2 x; v
, H3 F% Z" A; t& {首先你要在IIS中已经添加HTTP重定向,如果没有需要先添加。
' u' l8 t! ^ r! L原网址http://www.le00.com/aspcms/news/263_2.html更改后为http://www.le00.com/news/263_2.html,首先如果没有aspcms这个文件那么先要在根目录建立一个,然后选中这个文件夹点右侧HTTP重定向。* h! w" m* t/ F: m6 R4 I. ^$ Y( b
6 f* ^: F! V/ Y9 x0 a# z3 f
然后重定向部分直接填根目录网址http://www.le00.com/,选择301永久重定向。点击应用即可。) s3 C% u/ j6 u! _6 @( M0 C) F6 u" H$ y
4 E+ N% T% b S E4 y \' u
最后过两个月左右时间,查看下如果百度360等搜索引擎收录已经全部更改为新网址,那么就可以删除对应的部分,大功告成!windows IIS服务器中asp php asp.net网站如何做子目录301重定向就是这么简单。
# {1 S( O$ `0 D* ]PS:最近研究发现的新的方法,不用建新的虚拟主机。$ ]+ F2 W+ p# x- _# i
首先,推荐在IIS7.5以上使用,因为这些版本很方便安装URLRewrite,如果没有URLRewrite,先安装,具体可以参考windows2012中IIS8如何安装和使用URL重写工具-URL Rewrite。
2 m( p# z/ T5 I3 |$ \打开网站根目录的web.config文件,把以下规则直接写在节点中就可以,如果没有web.config文件,需要在根目录新建一个,内容按照下面的完全复制即可,注意:所有配置规则都要写在节点中。网址就替换成你的网址即可。
* D0 Q. r5 y7 o' h" S- <?xml version="1.0" encoding="UTF-8"?>
2 p) l8 {1 D: X$ Y% x3 f1 I - <configuration>8 K% p4 s4 P d3 j& R% j! u& A! @2 S
- <system.webServer>1 L/ [; g3 \3 t5 E8 h3 D( N
- <rewrite>' `2 c: e* g% @
- <rules>9 `* h& |& `4 B! W
- <rule name="301Redirectwww" stopProcessing="true">
9 Z) p3 F. Y1 d1 ~( S o& u2 m6 M - <match url="(.*)" />7 I7 J$ k5 e- W) ` F, D, F) O2 i
- <conditions logicalGrouping="MatchAny">
- G) a# z4 v l' i - <add input="{HTTP_HOST}" pattern="^xp37\.com$" />) _- ?8 l* w+ }9 C9 q1 Z& _! y
- </conditions>
- R- d1 N) z, }% a u - <action type="Redirect" url="http://www.xp37.com/{R:0}" redirectType="Permanent" />( s) u$ }9 W* b
- </rule>* ? j; }; |& ?
- </rules>2 n) i; j3 g# N6 Q5 L F- p
- </rewrite>
8 E; n: f; u/ q c - </system.webServer> b2 l! i4 A# T0 @
- </configuration>
复制代码 301跳转规则,如果有web.config文件中已经存在多条规则,在其中添加如下一条即可
! p1 k, M" H4 W: q" K5 d8 z9 B- <rules>/ \" M- E% {* b7 {& P, J
- <rule name="301Redirectwww" stopProcessing="true">" b7 w( p7 x9 O# j' W2 w9 l% o
- <match url="(.*)" />5 ^$ {3 [5 {6 _ \
- <conditions logicalGrouping="MatchAny">
8 }; N0 [( ~1 n% t1 U - <add input="{HTTP_HOST}" pattern="^xp37\.com$" />
# [4 }6 {# m6 J1 O; \- V - </conditions>
9 J& m2 ?9 x4 W; b1 } - <action type="Redirect" url="http://www.xp37.com/{R:0}" redirectType="Permanent" />, n! I+ g1 _& E9 E0 T: d9 f0 q
- </rule>
复制代码 这里名称301Redirectwww可以按照自己习惯命名。
/ n) {0 _- C3 _/ O/ N |
|