有些项目须要设置静态。这样能够被站点收录了,提高站点的排名、内容。

假设地址后面有www.a.com/xx.html?id=1是不行,还是不能达到一些需求。怎么才干实现www.a.com/1/xx.html这种地址呢?

解决的方法就是用一个比較简单方式:UrlRewriter,通过该dll能够实现。

这仅仅是一个简单伪静态。真正实现静态页面要通过后台代码生成静态的html页面。

下载地址:UrlRewriter.dll

下载后将下图勾选的红色框增加到项目中。并引用。

第一步:下载UrlRewriter.dll文件,然后引入到mvc的项目里并引用。

(ActionlessForm.dll文件和App_Browsers目录选择一个就可以,加入了“App_Browsers目录”就不须要引用ActionlessForm.dll也不须要改变Form了,仅仅要引用URLRewriter.dll就能够了)

第二步:配置Web.config

1.在<configuration>里加入: 

  <configSections>
<section name="CustomConfiguration" type="URLRewriter.Config.UrlsSection, URLRewriter" />
</configSections>

2.在<configuration>里加入:

<CustomConfiguration>
<urls>
<!--([\w]+)表示,1到n个字母或数字或下划线或汉字组成-->
<add virtualUrl="~/Index.html" destinationUrl="~/Home/Index" />
<add virtualUrl="~/(\d+)/Detail.html" destinationUrl="~/Home/Detail/?guid=$1" />
</urls>
</CustomConfiguration>

3.在<system.web>里加入:

 <httpModules>
<add type="URLRewriter.RewriterModule, URLRewriter" name="RewriterModule" />
</httpModules>

4.在<system.webServer>里加入:

 <validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<add name="URLRewriter" type="URLRewriter.RewriterModule" preCondition="managedHandler" />
</modules>

配置完Web.config,基本就能够直接訪问地址了,假设是公布到IIS7还是要进行配置,详细配置查看例如以下地址:

http://www.cnblogs.com/zhongweiv/archive/2011/10/29/UrlRewriter_IIS.html

第三步:mvc的页面的写法例如以下:

<a href="/@Model.Id/Detail.html">測试</a>   @Model.Id就是传值内容

<a href="/Index.html">首页</a>

訪问地址:http://localhost:80/1/Detail.html   http://localhost:80/Index.html

通过UrlRewriter配置MVC4伪静态的更多相关文章

  1. ASP.NET MVC4通过UrlRewriter配置伪静态,支持html后缀

    参考文章: ASP.NET MVC4通过UrlRewriter配置伪静态 http://blog.csdn.net/just_shunjian/article/details/51132866 .NE ...

  2. Webserver asp配置及伪静态设置

    Webserver  IIS asp配置及伪静态设置 一.概述: 在Windows Server 2003系统中,用户可以借助IIS 6.0配置基于ASP.PHP.asp.NET等语言的动态Web网站 ...

  3. apache上.htaccess转向nginx上配置.htaccess伪静态规则

    nginx上配置.htaccess伪静态规则 在apache上.htaccess转向,只要apache编译的时候指明支持rewrite模块即可. 但是换到nginx上方法会有不同,有人说把.htacc ...

  4. UrlRewriter配置IIS支持伪静态

    使用UrlRewriter时遇到了一些问题,在园子里的博问中找到了Astar的回答,防止以后找不到,就记录下来了. UrlRewriter.NET官方地址:http://urlrewriter.net ...

  5. C# mvc3 mvc4 伪静态及IIS7.5配置

    mvc3 mvc4路由配置 //单独路由 routes.MapRoute(    name: "XXX",    url: "Home/XXX.html/{id}&quo ...

  6. 老技术,UrlRewriter实现全站伪静态

    看人家做淘宝客很火,就做了个网站.seo的话当然需要全站伪静态了,问了下空间商不支持mvc,尼玛,好吧,isapi_rewrite支持吗?“额,不支持!” -_-! 额,好吧,搬出n年前的东西了:微软 ...

  7. Discuz!X2.5论坛在IIS和Apache环境配置实现伪静态

    最近在研究自己的网站,然后把这文章分享出来,让不清楚怎么设置的童鞋参考,高手可以飘过~~~ URL 静态化是一个有利于搜索引擎的设置,通过 URL 静态化,达到原来是动态的 PHP 页面转换为静态化的 ...

  8. ThinkPHP第四天(U函数,URL类型参数配置,伪静态后缀名配置,数据传递与获取$_GET等)

    1.U('地址','参数','伪静态','是否跳转','是否显示域名'); 在模板中使用U方法而不是固定写死URL地址的好处在于,一旦你的环境变化或者参数设置改变,你不需要更改模板中的任何代码. 在模 ...

  9. Linux:WebServer(Nginx 虚拟主机配置与伪静态实现)

    ps + 查看方式  |  grep  +  服务/端口/软件等:查看状态: 一.基本操作 Nginx 多用于商业系统: 一个端口只能被一个服务使用: Nginx 可以同时监听多个端口,也就是配置时, ...

随机推荐

  1. vmware centos7 没有网络设备

    vmware centos7 没有网络设备 选择VMware 虚拟机模拟器为CentOS 64 即可;

  2. 93.EXTJS Form之VTypes

    转自:http://blog.sina.com.cn/s/blog_7778950d0100y2pg.html 本文我们主要探讨一下EXTJS的Form中验证的问题,可能用过EXTJS的Form的人都 ...

  3. SQL之LEFT JOIN,EIGHT JOIN,INSERT JOIN的区别

    left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只 ...

  4. django的admin后台管理如何更改为中文

    新建Django的admin后端控制为英文显示,为了可以使其显示中文,可以将 setting.py配置文件修改 # LANGUAGE_CODE = 'en-us' # # # # # TIME_ZON ...

  5. 如何通过WallpaperManager(壁纸管理器)设置与修改壁纸?

    WallpaperManager(壁纸管理器),是手机壁纸相关的一个API的相关类.其设置壁纸常有如下三种方法可调用: - setBitmap(Bitmap bitmap):将壁纸设置为bitmap所 ...

  6. C# 检测dll的新版本号方法

    FileVersionInfo info = FileVersionInfo.GetVersionInfo(YourFileNameHere);string version = info.FileMa ...

  7. String类练习统计一个字符串中大小写字母及数字字符个数

    public class StringPractice { public static void main(String[] args) { //创建一个文本扫描器 Scanner sc = new ...

  8. Tomcat内存分析相关方法(jmap和mat)

    Linux环境命令行 首先,根据进程命令,获取运行的tomcat的进程ID ps aux | grep tomcat | grep java | grep bsc 在第二列可以看到进程ID 然后使用j ...

  9. eas之动态刷新Table

    如何刷新表体数据行(表头不变) 示例1:删除所有表体行,并重新发取数事件该方法不会修改原先的绑定信息table.removeRows(); 示例2:删除所有表体行,修改绑定信息并重新取数指定新的que ...

  10. Java常量池详细说明

    java常量池技术  java中的常量池技术,是为了方便快捷地创建某些对象而出现的,当需要一个对象时,就可以从池中取一个出来(如果池中没有则创建一个),则在需要重复创建相等变量时节省了很多时间.常量池 ...