关于asp.net伪静态问题

大漠苍狼woft 2011-01-13 01:47:48
各位大虾们,小弟最近在搞asp.net的伪静态,弄了好长时间也实现不了,无奈求助各位高手
说明:我用的开发工具是 vs2008,web服务器是vs2008自带的。
具体做做法是这样的!
首先:下载并引用了URLRewriter.dll 这个文件。
其次:修改了Web.config文件
1.<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" /> //添加的节点
</configSections>

2. <RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/index.html</LookFor>
<SendTo>~/Default.aspx</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Default2.html</LookFor>
<SendTo>~/Default2.aspx</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>

3.<httpHandlers>
//一下是新添加的节点
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>


请问各位大虾,小弟错在那里?。请各位不吝指教,小弟不胜感激!!!
...全文
189 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Maple_clever 2011-03-25
  • 打赏
  • 举报
回复
url重写 asp.net实现伪静态
http://www.xunxt.com/forum-viewthread-tid-63-fromuid-1.html
自然框架 2011-01-16
  • 打赏
  • 举报
回复
如果要有 *.html的话,需要在IIS里进行一下设置的。
Diack 2011-01-15
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 fyq080119 的回复:]
还是之前的,也就是说后缀名还是以 .aspx结束,而不是以 .html结束

引用 11 楼 fengyarongaa 的回复:

不报错 你访问的时候 地址栏出现的是你 伪静态之后的 还是 之前的

如果是之前的就说明你的设置 还没有完善 添加映射 等等

或者用你的规则 访问 伪静态后的网站 看出什么错 404 or ...
[/Quote]

你不会右键在浏览器查看吧?
这样肯定是.aspx结束啊

你应该右键查看后把.aspx改成html看看可以正常访问不
包括网页里面的链接都要手工改的!
我前阵子也做伪静态,最麻烦的就是整个网站的链接了
我全部用完全路径去链接的,比如图片http://www.hao123.com/images/1.jpg
页面也是完全路径,如:http://www.hao123.com/index.html
zengxiongbin 2011-01-15
  • 打赏
  • 举报
回复
IIS-主目录-配置-映射-插入“可执行文件”(点击“应用程序扩展”中的“aspx”获取“可执行文件”)-去掉“确定文件是否存在”的钩-确定
大漠苍狼woft 2011-01-15
  • 打赏
  • 举报
回复
还是之前的,也就是说后缀名还是以 .aspx结束,而不是以 .html结束
[Quote=引用 11 楼 fengyarongaa 的回复:]

不报错 你访问的时候 地址栏出现的是你 伪静态之后的 还是 之前的

如果是之前的就说明你的设置 还没有完善 添加映射 等等

或者用你的规则 访问 伪静态后的网站 看出什么错 404 or ...
[/Quote]
ycproc 2011-01-13
  • 打赏
  • 举报
回复
不报错 你访问的时候 地址栏出现的是你 伪静态之后的 还是 之前的

如果是之前的就说明你的设置 还没有完善 添加映射 等等

或者用你的规则 访问 伪静态后的网站 看出什么错 404 or ...
wuyq11 2011-01-13
  • 打赏
  • 举报
回复
IIS中是否添加映射
大漠苍狼woft 2011-01-13
  • 打赏
  • 举报
回复
编译通过,不报错!
[Quote=引用 3 楼 rock870210 的回复:]
没说出什么错误,人家怎么去看!
悟空,你忒逗了吧!
[/Quote]
zhubo_1117 2011-01-13
  • 打赏
  • 举报
回复
<RewriterRule>
<LookFor>~/index.html</LookFor>
<SendTo>~/Default.aspx</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Default2.html</LookFor>
<SendTo>~/Default2.aspx</SendTo>


这个用lookfor里面的后缀名为html的内部服务器是识别不了的,只有iis才能识别(并且iis还要配置)

iis 配置
主目录=>应用程序配置=>通配符应用程序映射=>添加isapi.dll
大漠苍狼woft 2011-01-13
  • 打赏
  • 举报
回复
不报错!
[Quote=引用 1 楼 net_lover 的回复:]
出什么问题?
[/Quote]
大漠苍狼woft 2011-01-13
  • 打赏
  • 举报
回复
更本就不报错
[Quote=引用楼主 fyq080119 的回复:]
各位大虾们,小弟最近在搞asp.net的伪静态,弄了好长时间也实现不了,无奈求助各位高手
说明:我用的开发工具是 vs2008,web服务器是vs2008自带的。
具体做做法是这样的!
首先:下载并引用了URLRewriter.dll 这个文件。
其次:修改了Web.config文件
1.<configSections>
<section name="RewriterConfig"……
[/Quote]
ycproc 2011-01-13
  • 打赏
  • 举报
回复
首先在你的项目里引用两个DLL:
ActionlessForm.dll
URLRewriter.dll
真正实现重写的是 URLRewriter.dll 但是如果你要实现分页,那么必须使用这个ActionlessForm .dll
首先在web.config里写

<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
</httpModules>
<!-- 下面是配置重写URL规则 -->
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/Products/Jurisdiction_(\w{3})\.aspx</LookFor>
<SendTo>~/En/Jurisdiction.aspx?jurid=$1</SendTo>
</RewriterRule>

<RewriterRule>
<LookFor>~/Articles/(\d{1,})\.aspx</LookFor> <!-- 这个是被代替后的文件名,使用到正则表达式 -->
<SendTo><![CDATA[~/En/Article_view.aspx?article_id=$1]]></SendTo> <!-- 这个是要给代替的网页,一般是带有问号后面带参数的网页 -->
</RewriterRule>
<RewriterRule>
<LookFor>~/Articles/(\d{1,})_(\d{1,})\.aspx</LookFor>
<SendTo><![CDATA[~/En/Article_view.aspx?article_id=$1&page=$2]]></SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
Rock870210 2011-01-13
  • 打赏
  • 举报
回复
没说出什么错误,人家怎么去看!
悟空,你忒逗了吧!
Dobzhansky 2011-01-13
  • 打赏
  • 举报
回复
暴什么错误?
仔细想想,
悟空, 你行的
孟子E章 2011-01-13
  • 打赏
  • 举报
回复
出什么问题?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧