通过UrlRewriter配置MVC4伪静态

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

假设地址后面有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

时间: 2024-11-05 04:53:22

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

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

ASP.NET MVC4通过UrlRewriter配置伪静态 通过UrlRewriter在MVC4中配置伪静态在网上都有很多资料,本篇博客主要是把项目中使用到的通过UrlRewriter配置伪静态提取出来,方便自己以后查看,同样对需要该功能的网友提供思路. 第一:下载UrlRewriter.dll文件,并引用到项目中 第二:配置Web.config 依次在下面节点中添加UrlRewriter相关的子节点 1.  <configSections> 2.  <section name=&qu

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

mvc3 mvc4路由配置 //单独路由 routes.MapRoute(    name: "XXX",    url: "Home/XXX.html/{id}",    defaults: new { controller = "Home", action = "XXX", id = UrlParameter.Optional }); 或者//全站路由routes.MapRoute(   name: "Defau

aliyun 主机Nginx 上配置Drupal 伪静态

网上找了好久没有正确的,后面直接在http://wiki.nginx.org/Drupal 上找到原文,但原文中复制过来会出现个 'root' rewrite directive is duplicate 错误和 server 第一列的错误. 对比aliyun上的预先设定的rewrite 发现它们都没有server {} 这个名,并且这个位置也在nginx -t 时报错了. 注释了报错的位置,删除了不适用于drupal 7下面的配置. /alidata/server/nginx/sbin/ngi

Webserver asp配置及伪静态设置

Webserver  IIS asp配置及伪静态设置 一.概述: 在Windows Server 2003系统中,用户可以借助IIS 6.0配置基于ASP.PHP.asp.NET等语言的动态Web网站.动态Web网站基于数据库技术,能够实现较为全面的功能.动态网站具有交互性强.自动发布信息等特点,更适合公司.企业使用. 二.配置asp: 1.iis中创建网站: 2.启用目录(目录浏览) 3.启用父路径(asp) 4.添加index.asp(默认文档) 5.启用32应用程序(程序池) 三.配置伪静

UrlRewriter配置IIS支持伪静态

用伪静态 是老是访问不了伪静态的页面,后来知道需要在iis里面配置.  在程序端的配置就不多说了,主要是在iis中的配置, 以.shtml为例,如果你想要把.aspx文件伪装成.shtml,那么你只需要在iis中做一下几步, 1>  IIS配置:网站->属性->目录->配置(G)...->映射->应用程序扩展->添加 2> 可执行文件:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll

在Apache服务器中配置ThinkPHP伪静态URL

ThinkPHP 作为国内最流行的一个PHP框架,由于她开发应用的便捷,便吸引越来越多的开发者开始使用她来做项目的底层架构.像我PHP基础并不是很好,也可以使用她来完成一个像模像样的项目. 下面便分享一些使用ThinkPHP需要了解的东西. 去掉 URL 中的 index.php ThinkPHP是单一入口的,默认的 URL 不是很友好.但 ThinkPHP 提供了各种机制来定制需要的 URL 格式,配合 Apache 里面的 .htaccess 文件,更是可以定制出人性化的更利于 SEO 的

thinkphp配置nginx伪静态并解决PATHINFO问题和fix_pathinfo漏洞

nginx.conf的server配置,当文件不存在时,就采用伪静态 server{ listen 801; index index.html index.htm index.php; root D:/data/code/jsjh-admin/wwwroot; location /{ if (!-e $request_filename) { rewrite ^(.*)$ /index.php$1 last; } } include dotphp.conf; } dotphp.conf配置php的

MVC路由配置,伪静态。

前段时间,研究了一下mvc路由配置伪静态,在网上扒了很多最后还是行不通,所以我现在把这些心得整理出来,供大家分享: 1.mvc中默认路由配置是:http://localhost:24409/Home/Index routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = &quo

Yii2 配置 Nginx 伪静态

主要检查以下代码: location / { # Redirect everything that isn't a real file to index.php try_files $uri $uri/ /index.php?$args; } 完整代码: server { charset utf-8; client_max_body_size 128M; listen 80; ## listen for ipv4 #listen [::]:80 default_server ipv6only=o