|
|
网站改版,生成静态页,想把生成的根目录去掉,去百度提交了站点改版,需要做301跳转。网站是个老站用aspcms做的,php的简单直接写到代码里即可,如下:5 u c/ `' p( c9 l
, T8 f) p% e* s) ^) f7 W" i
用header实现单页面的301跳转
* C. A* v& c6 O, F# d- header( "HTTP/1.1 301 Moved Permanently" );
' G4 N& }# j; G- R' K8 v) e. F - header( "Location: /my/m/" );
复制代码 D% D4 p2 F4 v' j6 G1 \
也可以用htaccess文件来实现单页面的301,规则如下* d' X5 ^* ]7 N) q
- RewriteRule ^(\?(AXXX).php.*)$ "http://新的域名/$1" [R=301,L]
复制代码 4 P# ~" I7 S; d- \6 n
0 g/ j- i+ }* m; c! M
( S( A. Q) e f, `
( o4 p1 |/ t$ K, X如果你是用的windows+iis,也非常简单。8 Q$ @: o( H1 \ _! P
+ J. I' Z' I; G* c# F* E$ r7 U) ]首先你要在IIS中已经添加HTTP重定向,如果没有需要先添加。
4 J9 v4 B; \, h9 U' D! M( {原网址http://www.le00.com/aspcms/news/263_2.html更改后为http://www.le00.com/news/263_2.html,首先如果没有aspcms这个文件那么先要在根目录建立一个,然后选中这个文件夹点右侧HTTP重定向。
$ C) G% f& k% L8 K! Z* Z# q$ H2 M
. k" F9 y! ^, _) f& B0 X3 Z9 a5 v& C
然后重定向部分直接填根目录网址http://www.le00.com/,选择301永久重定向。点击应用即可。
# u0 Y8 |$ a! k! t1 w
7 L. C( u' A* L- n, I. e1 q1 X最后过两个月左右时间,查看下如果百度360等搜索引擎收录已经全部更改为新网址,那么就可以删除对应的部分,大功告成!windows IIS服务器中asp php asp.net网站如何做子目录301重定向就是这么简单。0 C7 ^- B2 Q& ^5 ]0 }2 C& s3 Y
PS:最近研究发现的新的方法,不用建新的虚拟主机。- q9 a# n: q/ E* z/ k0 @! m
首先,推荐在IIS7.5以上使用,因为这些版本很方便安装URLRewrite,如果没有URLRewrite,先安装,具体可以参考windows2012中IIS8如何安装和使用URL重写工具-URL Rewrite。
- f8 k3 A. @! S8 T5 o; d打开网站根目录的web.config文件,把以下规则直接写在节点中就可以,如果没有web.config文件,需要在根目录新建一个,内容按照下面的完全复制即可,注意:所有配置规则都要写在节点中。网址就替换成你的网址即可。0 C- h$ G5 s6 F/ K/ j* [
- <?xml version="1.0" encoding="UTF-8"?>
9 x _/ y& T% B3 {9 V - <configuration>
& w s- C5 M, _ - <system.webServer>/ F7 Q6 L$ [+ R! ?6 J* G* T
- <rewrite>
! C) ~7 L# P$ D/ T - <rules>
8 X& \$ j3 C2 W F I - <rule name="301Redirectwww" stopProcessing="true">
7 j( i: ^; `6 Q. P - <match url="(.*)" />- a, q; \/ f; b- w$ K* b
- <conditions logicalGrouping="MatchAny">2 _. Z% R; N( ?, ?
- <add input="{HTTP_HOST}" pattern="^xp37\.com$" />7 C- r0 r$ L2 Z/ c' Y' s& r
- </conditions>, T# W7 m% T9 I7 {9 G
- <action type="Redirect" url="http://www.xp37.com/{R:0}" redirectType="Permanent" />
" B, d" K1 L& s/ x/ V& D( W - </rule>. O1 [7 L& x! t9 a3 D
- </rules>
8 s9 q8 n# p" u" J( V' h4 v - </rewrite>0 G6 i4 b2 h: N0 y1 S- [
- </system.webServer>
5 C( a1 a* ^, B$ m - </configuration>
复制代码 301跳转规则,如果有web.config文件中已经存在多条规则,在其中添加如下一条即可
: r3 P8 ^5 A" ? l- <rules>" z* y& y+ [$ S* ~+ H6 W+ ]4 c
- <rule name="301Redirectwww" stopProcessing="true">
- Y+ V* p* i" \ - <match url="(.*)" />7 p& z* y% ]) \: y2 C4 S# A
- <conditions logicalGrouping="MatchAny">
/ J) P% c3 N- f2 s: D - <add input="{HTTP_HOST}" pattern="^xp37\.com$" />
! _ H" J4 c' o" n E, P4 ] - </conditions>$ N0 }: R) u, I( x s7 ?
- <action type="Redirect" url="http://www.xp37.com/{R:0}" redirectType="Permanent" />. ~( n! A+ o/ ~) c& ], K; v* ?
- </rule>
复制代码 这里名称301Redirectwww可以按照自己习惯命名。
( ?8 z' h; Q" h |
|