投稿 评论 顶部

We7如何设置伪静态URL地址

佚名 网络安全
URL静态化可以采用两个级别的处理方法,一个是IIS,一个是asp.net。
IIS级别是相对于增加一个Web Site的ISAPI Filter列表。
ASP.NET级别的URL Rewrite组件的原理很简单,其实只是监听BeginRequest事件,并且根据配置来决定目标URL。
理论上说,IIS级别的URL Rewrite使用C或C++编写,比使用托管代码编写的ASP.NET级别URL Rewrite性能要高。
可参看《重提URL Rewrite(4):不同级别URL Rewrite的一些细节与特点》

你可以选择以下几种伪静态设置方法:

1、使用aspx后缀

在系统后台“设置-常规”下图

静态URL文章后缀:选择“aspx”,然后保存,即可。

2、使用html后缀,Asp.net级别组件

IIS6.0下

如果选用Asp.net级别,并希望使用HTML扩展名的话,需要设置通配符:
IIS配置:网站->属性->主目录 ->配置(G)...->映射->通配符应用程序映射->插入? 可执行文件:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll
确认文件是否存在:不选

具体步骤:

(1)IIS右键打开网站属性

(2)应用程序配置::将可执行文件的地址
(一般为C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll)复制

双击弹出窗口:

确定

插入:

弹出窗口:

粘贴可执行文件(把确认文件是否存在的勾去掉)

确定

完成

参看:http://help.we7.cn/library/112.html

IIS7.0下

无需配置,web.config 的配置将会自动起作用。

01<system.webServer>
02??? <handlers>
03????? <add name="we7.*" path="*" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv2.0,bitness32"/>
04??? </handlers>
05??? <modules>
06????? <!--? 注意:此节设置由We7接管http请求。不会干涉对非We7 CMS路径下的请求。-->
07????? <add type="We7.UrlRewriter.HttpModule, We7.UrlRewriter" name="UrlReWriteModule"/>
08??? </modules>
09??? <defaultDocument>
10????? <files>
11??????? <clear/>
12??????? <add value="default.aspx"/>
13??????? <add value="index.aspx"/>
14????? </files>
15??? </defaultDocument>
16??? <directoryBrowse enabled="true"/>
17? </system.webServer>
??

如果您使用的是Win7 64位系统,在配置无效的情况下,可进行如下操作:


1,添加通配符映射:
指定可执行文件为:%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll;
命名为 ALL
2,添加脚本映射:
指定请求路径为: *.html
指定可执行文件为:%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll;
命名为 html
3,添加通配符映射:
指定可执行文件为:%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll;
命名为 we7.*
4,找到 StaticFile 模块映射,进行修改:
请求路径为: *
模块为 : StaticFileModule,DefaultDocumentModule,DirectoryListingModule
请求限制为 : 文件或文件夹

3、使用html后缀,IIS级别过滤器

We7 采用独立的开源URL过滤器 Ionics Isapi Rewrite Filter。
IIRF是一款开源的重写URL过滤 器,类似于Apache的URL重写,基于VC8.0(可以用Visual Studio2005或Visual C++ 2005? Express重新编译)开发。它可以运行在IIS5.0+,支持ASP,ASP.NET,PHP等许多格式。

IIRF跟ASP.NET重写URL一样,它也是基于正则的方式来匹配,具有LOG记录,请求的条件判断。还是进入正题吧。

安装

IIRF安装需要我们手动操作来完成。不过。也是很方便了。
1、将IsapiRewrite4.dll, IsapiRewrite4.ini复制到c:\windows\system32\inetsrv(你也可以复制到其它适当的文件夹下面)。
IsapiRewrite4.ini是IIRF配置文件,每次该文件更改之后,IIRF会自动重新加载该文件,无需重启IIS来重新加载配置,如果您修改后INI文件后格式不正确,IIRF将会自动获取最后正确加载的配置文件。
2、 打开IIS管理器,选择“默认网站”,右击“属性”,选择“ISAPI筛选器”,点击“添加”,输入筛选器名称:Ionic? Rewriter,可执行文件选择上面复制到c:\windows\system32\inetsrv下面的IsapiRewrite4.dll文件,点? “确定”。
3、完成。

注意

IsapiRewrite4.dll, IsapiRewrite4.ini 位于 We7 CMS的config目录。