風雲論壇后台开发 → 浏览:帖子主题
* 帖子主题:利用 IIS 模块实现URL 重写
風雲 (ID: 3)
头衔:论坛版主
等级:大天使
积分:1567
发帖:70
来自:保密
注册:2022/3/30 15:28:53
造访:2024/11/22 10:43:44
[ 第 1 楼 ] 回复
// 需配置web.config,或者直接在IIS站点模块中添加
// App_Code/Rewrite.js
import System;
import System.Web;

package Rimifon {
    class UrlRewrite implements IHttpModule {

        static var cfg = [
            [ /^\/Portal\//i, "/home/?p=/" ]
        ];

        function Init(ha : HttpApplication) {
            ha.add_BeginRequest(doUrlRewrite);
        }

        function doUrlRewrite(obj, ea : EventArgs) {
            var ctx : HttpContext = obj.Context;
            var qstr = ctx.Request.ServerVariables["QUERY_STRING"];
            var path = ctx.Request.Path;
            if(!!qstr) qstr = "&" + qstr;
            function testUrl(reg, url) {
                if(!reg.test(path)) return false;
                ctx.RewritePath(path.replace(reg, url) + qstr);
                return true;
            }
            for(var i = 0; i < cfg.length; i++) {
                if(testUrl.apply(cfg, cfg[i])) return;
            }
        }

        function Dispose() { }

    }
}
web.config 中增加对应内容:
<configuration>
    <system.webServer>
        <modules>
            <add name="UrlRewrite" type="Rimifon.UrlRewrite" />
        </modules>
    </system.webServer>
</configuration>
2022/12/3 21:25:48 IP:已设置保密
serverMM3 (ID: 42)
等级:精灵
积分:132
发帖:6
来自:保密
注册:2023/8/19 13:09:21
造访:2023/8/26 9:43:51
[ 第 2 楼 ] 回复
我觉得这不大需要,就普通的GET\POST传值就行。 毕竟论坛的第一原则是运营。技术不需要太深入
2023/8/19 13:23:44 IP:已设置保密
caiyun (ID: 56)
等级:新手上路
积分:2
发帖:0
来自:保密
注册:2024/3/27 19:51:22
造访:2024/3/27 19:51:22
[ 第 3 楼 ] 回复
没有效果啊
2024/3/27 19:51:41 IP:已设置保密
風雲 (ID: 3)
头衔:论坛版主
等级:大天使
积分:1567
发帖:70
来自:保密
注册:2022/3/30 15:28:53
造访:2024/11/22 10:43:44
[ 第 4 楼 ] 回复
什么操作系统?可能不支持 2003。
2024/3/27 19:58:56 IP:已设置保密
ASP (ID: 36)
等级:精灵
积分:110
发帖:5
来自:保密
注册:2023/4/13 23:34:22
造访:2024/10/8 11:20:19
[ 第 5 楼 ] 回复
加个“引用回复”才是正事 
2024/10/8 11:26:24 IP:已设置保密
分页: 1, 共 1 页
快速回复主题
账号/密码
用户: 没有注册? 密码:
评论内容