ASP.net 4.0 针对SEO的改进
搜索引擎优化对任何面向公众的网站来说都非常重要,ASP.net 4.0 为此就做了大量改造。这些改进包括如下:
301
永久性重定向
随着时间的迁移,网站的一些页面地址会发生变化,这会导致搜索引擎收录的链接地址、用户收藏的地址失
效。Response.Redirect() 就是解决这个问题的。但是Response.Redirect 有以下问题:
Response.Redirect()
方法产生的是个 HTTP 302
跳转,在用户尝试访问老的URL时,会导致多余的HTTP往返。另外搜索引擎一般不会跟随多个跳转,这意味着使用一个临时转向会负面影响你的网页排名。
我之前写过博客,介绍如何实现301跳转,“从HTTP状态 301,302,200 来看页面跳转
” 那时候实现 301 跳转比较麻烦,ASP.net
4.0 为此专门增加了Response.RedirectPermanent() 方法用来解决这个问题。
简单来说,如下表所示:
HTTP状态
解释
程序代
码
301
301 代表永久性转移(Permanently Moved)
即永久性重定向
Response.RedirectPermanent("test_2.aspx");
302
302 代表暂时性转移(Temporarily Moved )
Response.Redirect("test_2.aspx");
MVC 中也有类似的代码:Response.RedirectToRoute(string
routeName) 和 Response.RedirectToRoutePermanent(string routeName)
Head
中的 keywords 和 description
由于搜索引擎优化作弊的原因,现在搜索引擎正在淡化这两个
关键字的参考作用。比如这篇博客:“Keywords和Description--SEO高手为什么不用
”
就描述了原因。但是如果可以,建议还是设置这两个关键字,ASP.net 4.0
中为方便设置这两个关键字专门做了优化,我们可以通过下面简单几行代码就可以完成动态设置:
protected
void
Page_Load(object
sender, EventArgs e)
{
Page.Title = "测试标题
";
Page.MetaKeywords = "测试关键字
";
Page.MetaDescription = "测试简介
";
}
或者在ASPX 文件中如下写:
<%@ Page Language="C#"
Title="测试标题"
MetaKeywords = "这是我的,关键字"
MetaDescription = "这是一个简介"
AutoEventWireup="true"
CodeBehind="Test_2.aspx.cs"
Inherits="WebApplication_CacheOutput.Test_2"
%>
Scott那个例子
估计是更早测试版本的,那时候是 Ke
相关文档:
1.设置web.config文件.
<system.web>
......
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />
......
</system.web>
或者:
aspx文件中:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"&g ......
微软已经宣布ASP.NET MVC 2的代码以MS-PL协议发布,MS-PL是一个得到OSI认证的开源协议,ASP.NET MVC基于MS-PL发布,是一个真正的开源框架且没有任何平台限制,也就是说,您可以在mono下使用或开发ASP.NET MVC的相关项目。 可以到ASP.NET MVC 2 RTM Download Details page获取源代码,或者到CodePlex上获取,这个页面是微软官 ......
一般来说winform应用程序解决这个问题起来时很容易的,web应用程序就麻烦一点了。 这里我说说我的解决思路: 一、你必要有联机型居民身份证阅读器一个(带驱动光盘),这里我用的是精伦电子公司的iDR200,并有这个阅读器的开发接口说明。 二、新建一个winform控件项目ReadCardControl,添加一个主类ReadCard 1、 声明dll入口 ......
using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;namespace md5
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(UserMd5("8"));
Console.WriteLine(GetMd5Str("8"));
}
/**//// <summary>
/// MD5 16位加密
......