C#实现动态网站伪静态,使seo更友好
本教程将使用Visual Studio 2013手把手教你实现webform动态页面的伪静态。本教程配套的C#源码工程可通过我的github下载。地址:https://github.com/shellcheng/ReWirteWebform
本文地址:WebForm伪静态实现及ISAPI_REWRITE介绍
本教程由技术爱好者成笑笑(博客:http://www.chengxiaoxiao.com/)写作完成。如有转载,请声明出处。
本教程内容:
伪静态介绍、作用
用代码实现简单的伪静态
ISAPI_REWRITE组件的介绍及使用
1.伪静态介绍、作用
1.1伪静态介绍、作用
1.1.1为什么要伪静态
在搜索引擎优化领域,静态页面的权重是大于动态页面的权重的。例如index.aspx会大于index.aspx?id=1的权重。通常情况下,动态页面中?后面的参数是读取数据库内容显示在前台页面上的。
很显然如果id不同所展现的数据也是不同的。但搜索引擎会把所有的页面例如:index.aspx?id=1、index.aspx?id=2等所有的动态页面,认定为同一个页面index.aspx。为了增强搜索引擎的友好度,提高收录,我们需要实现把动态内容静态化。
1.1.2实现网页静态化
我们很明显可以实现读取数据库内容根据模版生成对应id的静态页面。但是像淘宝京东等数以万计的商品之下,所占用的存储是海量的,需要大量的硬盘存储来存储这些静态网页。这是很理想的状况,但是现实是无法做得到的。
所以伪静态闪亮登场~~~
1.1.3什么是伪静态?
伪静态就是我们把以前的动态参数放入url中通过后台逻辑,显示对应的数据。说白了就是,把我们以前的index.aspx?id=1的地址改为index-1.aspx页面(具体的伪静态的规则自己可以随便写的,在这里只是举例子),把动态参数去掉。我们在后台写相应的代码实现读取数据显示。
2.用代码实现简单的伪静态(WebFrom版本)
2.1目标:
访问:index-1.aspx。显示index.aspx?id=1的数据
2.2实现过程:
2.2.1:通过Visual Studio 2013新建一个web空项目。
2.2.2新建aspx页面,并在后台页面添加以下代码。
后台处理id参数,查询传递到前台界面。
前台页面显示数据:
至此我们访问index.aspx?id=1显示如下:
2.2.3添加新项Global.asax。
我们主要是重写aspx页面生命周期的Application_BeginRequest方法,获取用户访问的地址,根据正则进行匹配。交由原页面进行处理。
至此我们访问index-1.aspx可以正确显示
3.ISAPI_REWRITE组件的介绍及使用
组件下载地址:https://github.com/shellcheng/ReWirteWebform
使用步骤:
打开IIS---添加ISAPI筛选器-----64位机器需要添加32位和64位版本两个筛选器。
在目录下添加文件名为.htaccess的文件:
写入以下内容。RewirteRule后面的则是伪静态的规则。
微信号:net4k8k(做(4k+8k)+月薪的程序员)
微信名称:net知识分享
介绍:主要以发布和分享.Net和安卓文章为主,争做全栈开发工程师,爱学习,爱挑战,爱编程。
打造C#入门教程。总结自己已经习得的技术体系。分享到网络。为中国的软件复兴贡献自己的一份力。
如有不恰当之处,还请指正。
作者:成笑笑
职业:应届毕业生,找工作中。
本人联系方式:cxx@chengxiaoxiao.com
我的自媒体:
GitHub:https://github.com/shellcheng
My CnBlogs:http://www.cnblogs.com/happpytoo/
今日头条:http://toutiao.com/m5443584213/
一点资讯:http://www.yidianzixun.com/home?page=channel&id=m21753
新浪微博:http://weibo.com/5706473282/
搜狐公众平台:http://mp.i.sohu.com/profile?xpt=NUJENDc2NjZENTIyMjlBRjk4QkIzRDczNTVFMUVFODBAcXEuc29odS5jb20=
C#实现动态网站伪静态,使seo更友好的更多相关文章
- 《Linux就该这么学》培训笔记_ch20使用LNMP架构部署动态网站环境
<Linux就该这么学>培训笔记_ch20使用LNMP架构部署动态网站环境 文章最后会post上书本的笔记照片. 文章主要内容: 源码包程序 LNMP动态网站架构 配置Mysql服务 配置 ...
- 编译LNMP部署动态网站环境
LNMP动态网站部署架构是由一套 Linux+Nginx+MySQL+PHP 组成的动态网站系统解决方案. 以下配置环境为:Linux=RHEL7 --> Nginx=1.13 --> M ...
- 网站URL如何SEO优化
前言 本文讲解网站的URL如何进行SEO优化,并在自己的WordPress博客echeverra中优化URL. 起因 对于SEO我了解的并不多,只知道SEO做的好,那么各大搜索网站搜索你网站相关内容时 ...
- 使用JSP开发动态网站基础
1. 什么是动态网页? 动态网页是指在服务器端运行的程序或者网页,它们会随不同客户.不同时间,返回不同的网页. 注意:在静态网页中插入flash ,虽然flash是在动的,但是并不是说这个网页就是动态 ...
- JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apache/IIS的整合)
链接地址:http://www.cnblogs.com/dartagnan/archive/2011/03/25/2003426.html JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apa ...
- Linux中什么是动态网站环境及如何部署
当谈论起网站时,我们可能听说过静态和动态这两个词,但却不知道它们的含义,或者从字面意思了解一些却不知道它们的区别. 这一切可以追溯到网站和网络应用程序,Web应用程序是一个网站,但很多网站不是Web应 ...
- nginx详解反向代理、负载均衡、LNMP架构上线动态网站(week4_day1_part1)-技术流ken
nginx介绍 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理 ...
- 简单 PHP + MySQL 数据库动态网站制作 -- 摘抄
在这篇文章中,我尽量用最浅显易懂的语言来说明使用 PHP, MySQL 制作一个动态网站的基本技术.阅读本文需要简单的 HTML 基础知识和(任一编程语言的)编程基础知识(例如变量.值.循环.语句块的 ...
- [Python之路] 使用装饰器给Web框架添加路由功能(静态、动态、伪静态URL)
一.观察以下代码 以下来自 Python实现简易HTTP服务器与MINI WEB框架(利用WSGI实现服务器与框架解耦) 中的mini_frame最后版本的代码: import time def in ...
随机推荐
- VS2008编译器编译出来的文件比mingw编译的要几乎小一半
为什么要在VS2008中使用QT静态编译呢?很简单,因为VS2008编译器编译出来的文件比mingw编译的要几乎小一半. 好了现在我们来做些准备工作,VS2008自然要安装的,然后打上SP1的补丁.然 ...
- Android 你应该知道的学习资源 进阶之路贵在坚持
1.国外教程网站 Android Developers Blog 不解释 vogella 很不错的网站,免费的,包含android的教程也比较全面,并且教程中经常引用大牛blog,会有很多意外发现.代 ...
- LiBsvm用于多分类时训练模型参数含义
The 'svmtrain' function returns a model which can be used for futureprediction. It is a structure a ...
- poj1741 bzoj2152
树分治入门 poj1741是男人八题之一,经典的树分治的题目这里用到的是点分治核心思想是我们把某个点i作为根,把路径分为过点i和不过点i先统计过点i这样的路径数,然后在统计其子树中的答案,这样就不断地 ...
- 基于mongoDB的capped collection的性能优化
MonitorLogging改造(消息接入) 改造前架构: 可以看出原来的流程中,大量业务分析,业务接入耦合在web服务层.大量操作,导致线程线性的挂起线程. 改造后: 将业务通讯抽象成为Monito ...
- handlebars模板库的资源
web 开发中,js 解析JSON 是经常的事情.非常繁琐.handlebars 使用了模版,只要你定义一个模版,提供一个json对象,handlebars 就能吧json对象放到你定的模版中,非常方 ...
- java的IO学习,字节流与字符流的编码讲解
字节流与字符流 字节流可以处理所有类型的数据(图片.视频等),在java中对应的类都为“stream”结尾 1字节=8位二进制=具体存储空间 字符流仅能处理纯文本的数据,在java中对应的类都是以 ...
- Installing Windows Identity Foundation on Windows 8 - The Certificate for the signer of the message is invalid or not found.
Just a very quick note here, in case you’re struggling to get Windows Identity Foundation installed ...
- Java程序员25个必备的Eclipse插件
原文:http://www.fromdev.com/2012/01/25-best-free-eclipse-plug-ins-for-java.html "工欲善其事, 必先利器" ...
- /etc/init.d/syslog: No such file or directory
centos 6 使用的是 rsyslog 而 centos5 使用 syslog ,兩個不同版本使用軟體不同.因此,你得要修訂 /etc/rsyslog.conf 才行!軟體也變成 /etc/ini ...