asp.net使用后台代码做301重定向

尽管目前IIS7以上推出了微软官方的UrlRewrit模块,但是该模块也仅仅只支持http_post等类似的参数,如果需要查询数据库作为条件判断是不可能实现的。

当然,这种情况我们可以想一个变通的方式来进行,利用iis的重写到一个aspx页面,然后在该页面的代码里面进行查询数据库做条件重定向操作。

在。net 2.0下面

在。net 4.0以上更方便了

就可以了。

同理,如果希望代码返回http404状态

windows主机IIS7下 web.config设置301重定向

 

linxu下配置301重定向非常简单,配置下.htaccess文件即可,很多主机面板还有图形化界面,比如cp面板。

iis7利用web.config配置起来相对麻烦点,发出来备忘

 

 

作用:把 不带www的 永久定向到 www.上

好处:权重集中,免遭搜索引擎惩罚。

如何做好301永久重定向

301永久重定向:这是SEO中的一个基础名词,在URL规范化中会用到,也许大家都知道这个名词,但是由于应用的不是非常频繁,导致很多专业做SEO的朋友都不是很熟悉301永久重定向的具体操作方法,今天我就讲解下301永久重定向的理论,以及实际的操作方法。

301永久重定向的概念:

网址重定向最为可行的一种办法。当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。

上面那段话是简述了301永久重定向的概念,那为什么要如此重视301永久重定向呢?

原因:301永久重定向是所有的重定向方法中唯一符合搜索引擎规则的重定向方法,其他的重定向还包括302暂时重定向和JS跳转等,这些方式都容易导致URL不规范问题的产生。所以说如果你有多个域名都希望可以让他们访问同一个网站,那就只能将其中一个做为主域名,剩下的其他域名做301永久重定向到这个主域名,只有这样才可以完美的让多个域名都访问一个站点,不会产生重复收录,导致网站被惩罚的现象。

301永久重定向的执行方法:

301永久重定向有几种不同的做法,在windows主机上和Unix/Linux主机是不同的。

一、在windows主机上设置的方法:可以在IIS服务器上设置也可以在代码中设置。

1、在IIS服务器上设置301的方法:

<a>这种设置方法需要有一个先天条件,那就是你有服务器的管理权,你可以直接操作IIS服务器,并且可以随意开通新的虚拟主机,否则你只能用修改网站代码的方法。

首先开通一个新的虚拟主机,将你需要做301永久重定向的域名正常与该空间绑定,这个绑定的方法你可以咨询服务器托管商。

然后打开“控制面板”→找到“管理工具”→打开“Internet 信息服务”。打开后,可以在管理器左侧树形菜单中找到你的网站,然后右击选择“属性”,打开网站的属性管理面板(如下图),并且选择到“主目录”选项卡,选择“重定向到URL”,然后在地址框中输入“主域名”,然后将选项卡中的“资源的永久重定向”选择上,点击确定即可设置完毕。

winwin

<b>如果你买的空间支持子目录绑定 那么你也可以联系你的空间商绑定个子目录
然后在服务器上设置永久重定向。
2、在网站代码中设置301的方法:
只需要将以下代码加在网页的开头即可,不过只能用在ASP和PHP文件中,HTML目前无法通过代码设置301。
ASP代码:

PHP:

 

注:将我的网址替换成你自己的定向后的目标网址即可,所有的标点必须用英文半角。
二、如果你用的是Unix/Linux主机:可以用.htaccess文件。
比如把/old.htm转到/new.htm,可以用这个指令:redirect 301 /old.htm /new.htm。如果要把所有http://seomba.cc 形式的URL用301重定向转到 http://www.baike.com。包括所有的目录和内页也转向到新域名的相应位置,那就要用到mod_rewrite,书写格式如下:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^baike.com [NC]
RewriteRule ^(.*)$ http://www.baike.com/$1 [L,R=301]

三、检测你的重定向是否设置成功

http://www.ranknow.cn/tools/redirectcheck

可以到这个网站检测
为什么要检测呢 因为假如我们设置错了后 又不去检测 往往会造成无法弥补的后果