投稿 评论 顶部

伪静态 Url重写 IIS配置的问题

佚名 网络安全
最近自己在做毕业设计遇到了伪静态的配置的问题,和Url重写的问题

(推荐了解一下)"微软官方的url重写的问题

?我是一个技术菜鸟? 能写一些技术不是很高的问题或是自己在实际中遇到的问题。

? URL重写有几种方法 但是我自己值简单的了解了其中的两种方法

???? 一种是:在Global.asax在虚拟的主机上 一般我们调试就是用的虚拟主机 例如

??

View Code
复制代码
  protected void Application_BeginRequest(object sender, EventArgs e)//伪静态 url重写
{
// HttpContext.Current.RewritePath("ViewNews.aspx");
Regex reg = new Regex(@".+View-(\d+).aspx");
var match=reg.Match(HttpContext.Current.Request.Url.AbsolutePath);
if(match.Success)
{
string id = match.Groups[1].Value;
HttpContext.Current.RewritePath("ViewNews.aspx?id="+id);
}
}
复制代码


?? 另一种是大家多比较常用的 就是引入第三方插件URLRewriter.dll 然后在修改web.Config配置文件

? ?首先下载URLRewriter.dll 这个插件 添加到你文件夹中指定的目录或者是bin文件夹中或者是其他的目录

? 修改配置文件首先

? 在<configSections>? 节点中添加
??? <section name="RewriterConfig" requirePermission="false" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler,URLRewriter" />
?? </configSections>

然后在导如你想要写的规则

例如:

?

View Code


? <RewriterConfig>这个节点和<configSections>这个节点是平行的

?IIS收到(LookFor)符合这样的伪静态的地址之后 就会导向(SendTo)给<SendTo></SendTo>节点的地址 然后由Asp.net解析引擎去解析和没有设置伪静态是一样的 然后就生成html文件 送给客户端浏览器 大概就是这样一个思路

?然后在<system.web></system.web>中加入:

View Code

?

这个节点中不只存在这两个节点还有其他的一些节点 大家只管添加就是了

我在网上看到有朋友问说“不要配置IIS是不是可以运行?” 不配置IIS的话其实是可以 但是你可能要发布你的网站 那您就还可以稍稍看到我接下来讲的IIS配置的问题

接下来就是配置IIS了? 我的系统是 server 2003 iis6.0

?先用vs2008发布你的网站 然后在新建一个网站或者是虚拟目录

操作方法:IIS站点属性 ->主目录 ->? 应用程序配置
??在应用程序扩展中 点击添加 ?? 选择或输入C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll? 取消"确认文件是否存在"前的钩.

?

然后点击确定

同时 还要在通配符应用程序映射下 再一次?选择C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll(我的是F盘)


取消"确认文件是否存在"前的钩

如果出现纯静态html文件访问不了改web.config配置文件

<compilation> <buildProviders> <add extension=".html" type="System.Web.Compilation.PageBuildProvider"/> </buildProviders> </compilation> 
<httpHandlers> <add verb="*" path="*.html" type="System.Web.UI.PageHandlerFactory"/> </httpHandlers>
?
posted on 2012-07-31 13:10 小李弯刀 阅读( ...) 评论( ...) 编辑 收藏