问个伪静态服务器设置问题
Rewrite.dll 和 aspnet_isapi.dll到底是怎么回事没弄懂
因为我在应用程序配置里添加的aspnet_isapi.dll伪静态可以正常运行了。
但是到空间上需要添加ISAPI筛选器
百度下了
要用Rewrite.dll
然后添加了 也不好用
到底该怎么弄呢
------解决方案--------------------
1。网站引用两个DLL URLRewriter.dll(重写用的DLL,地球人都知道了)和ActionlessForm.dll(处理回发的DLL,具体下面会说到)
URLRewriter.dll下载地址:http://hi.csdn.net/link.php?url=http://community.csdn.net%2F
ActionlessForm.dll下载地址:http://hi.csdn.net/link.php?url=http://community.csdn.net%2F
2.配置IIS
你的网站--属性--主目录--配置--插入--C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 将文件是否存在勾掉
具体其它配置根据自己的需求而定!
3.web.config的配置,如下:
<configuration>节点下:
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
</configSections>
<RewriterConfig>
<Rules>
<!-- 新闻 -->
<RewriterRule>
<LookFor>~/([0-9]*)</LookFor>
<SendTo><![CDATA[~/.aspx?txt=$1]]></SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/[0-9]*)/</LookFor>
<SendTo><![CDATA[~/Page.aspx?txt=$1]]></SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<system.web>节点下:
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
</httpModules>
经以上三步,目的基本达到,可以在在浏览器里输入www.url.com/123/或www.url.com/123查看了~!
但是,如果你在重写后的页面里放一个button或别的什么控件,在单击button时,页 面的地址会变回原来的样子,这对用户来说可不是什么好事儿。所以要解决这个问题,就要有到上面我说所的ActionlessForm.dll(处理回发的 DLL)了!方法简单的很,如下
1.引入ActionlessForm.dll
2.在重后的页面的第二行写如下代码:
<%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %>
3.将页面中的<form runat="server"></form>替换成:<skm:form id="form1" runat="server"></skm:form>
好了,这样一来就哦了,没什么难度,只要知道方法!
还有就是重写后css,js等带有路径的东东会失效,只要改成绝对路径就可以了~!
------解决方案--------------------
楼主看下应该就能明白了。