|
网站改版,生成静态页,想把生成的根目录去掉,去百度提交了站点改版,需要做301跳转。网站是个老站用aspcms做的,php的简单直接写到代码里即可,如下:; S( r' x, E3 e
& T2 z1 n: O6 A" w! h
用header实现单页面的301跳转
* @+ T$ L# I. f# r- header( "HTTP/1.1 301 Moved Permanently" );
# q. ^9 N0 P9 ?5 ? - header( "Location: /my/m/" );
复制代码 / i" {+ [5 I6 A+ [
也可以用htaccess文件来实现单页面的301,规则如下: n5 M7 A. e, X' E( K' y, t
- RewriteRule ^(\?(AXXX).php.*)$ "http://新的域名/$1" [R=301,L]
复制代码
& w9 Q) s$ B0 N4 Q! V
8 R. I2 B8 I; U: @ D Y4 A
% @" x3 n3 S/ H- [+ \
4 w4 j5 h2 e: }* E0 C8 c* C如果你是用的windows+iis,也非常简单。4 e5 b$ ^+ Z" u0 J6 V
; h6 t! F' V) g! j
首先你要在IIS中已经添加HTTP重定向,如果没有需要先添加。
, A! A5 ?4 u" n, X. |9 ^原网址http://www.le00.com/aspcms/news/263_2.html更改后为http://www.le00.com/news/263_2.html,首先如果没有aspcms这个文件那么先要在根目录建立一个,然后选中这个文件夹点右侧HTTP重定向。
% \) [8 n" t3 M/ ?* s/ X& _5 l
7 `- X1 m; ?4 ^7 j0 `7 t. f然后重定向部分直接填根目录网址http://www.le00.com/,选择301永久重定向。点击应用即可。
9 f6 l2 L, D$ V8 p2 G& h1 U: t
( u3 ^4 d5 A8 Q; i/ b3 G
最后过两个月左右时间,查看下如果百度360等搜索引擎收录已经全部更改为新网址,那么就可以删除对应的部分,大功告成!windows IIS服务器中asp php asp.net网站如何做子目录301重定向就是这么简单。* M1 _+ m% r" X9 c; L5 K) y
PS:最近研究发现的新的方法,不用建新的虚拟主机。
' i" \5 C6 ~( P3 r首先,推荐在IIS7.5以上使用,因为这些版本很方便安装URLRewrite,如果没有URLRewrite,先安装,具体可以参考windows2012中IIS8如何安装和使用URL重写工具-URL Rewrite。1 t" T+ u( e8 j- ?
打开网站根目录的web.config文件,把以下规则直接写在节点中就可以,如果没有web.config文件,需要在根目录新建一个,内容按照下面的完全复制即可,注意:所有配置规则都要写在节点中。网址就替换成你的网址即可。, B1 n( E' |- K! U: }
- <?xml version="1.0" encoding="UTF-8"?>
6 Z+ k u! W5 c8 J6 c0 T& _ - <configuration>
( _: C/ g4 s9 t4 z, b n - <system.webServer>7 l, u. |8 _3 W& j( W
- <rewrite>5 E! v% F3 ^& L6 Z5 ~9 y; g
- <rules>- l$ r7 w( k- V- `# g+ y
- <rule name="301Redirectwww" stopProcessing="true">
" h3 E7 M, P3 [/ |$ T5 M - <match url="(.*)" />! U* E8 b* _& o9 B9 E
- <conditions logicalGrouping="MatchAny">
/ n* O) Z t9 k& z V ^$ o - <add input="{HTTP_HOST}" pattern="^xp37\.com$" />
6 j& N$ _" @( q% h( U" D4 w# r/ p - </conditions>
2 y$ z K" S: w - <action type="Redirect" url="http://www.xp37.com/{R:0}" redirectType="Permanent" />" X# b2 m+ L- ~! E* Q. I& F: D t. \
- </rule>6 }: @7 @: W- ~) g5 ^) H, C
- </rules>/ ^, D; G0 M9 w; N1 |
- </rewrite>$ x( J- r; N& n) ~1 O# ^4 ]0 D
- </system.webServer>
- }+ I' D7 w( I8 F5 Z' A* ?8 B - </configuration>
复制代码 301跳转规则,如果有web.config文件中已经存在多条规则,在其中添加如下一条即可
& x" L6 b7 U# t- <rules>
* n+ K% E; h$ a8 E7 B' x1 p - <rule name="301Redirectwww" stopProcessing="true">
6 K8 g: X& H5 r, p2 R - <match url="(.*)" />
! g8 y, v5 Q. l* ]6 r - <conditions logicalGrouping="MatchAny">
1 \: Z7 Y) Y: R3 V1 p; F - <add input="{HTTP_HOST}" pattern="^xp37\.com$" />
4 q* \: U3 |' f3 L% ?0 M+ a1 v - </conditions>; m% m* m, w: f$ F3 |4 M
- <action type="Redirect" url="http://www.xp37.com/{R:0}" redirectType="Permanent" />! ~# }8 ~: i: T9 M
- </rule>
复制代码 这里名称301Redirectwww可以按照自己习惯命名。) R) Q, M1 y( I1 r2 d# _3 u. C W
|
|