由于DvBBS.NET迟迟不见更新,加上一些使用上的问题,十字之门论坛还是更换为Discuz!NT,曾经由于服务器问题而被我放弃的Discuz!NT在软件更新之后终于可以使用。使用之中发现一些问题,也算是一些小bug。Discuz!NT提供了URL重写的功能,此功能虽然实现了URL重写,但是在页面显示上仍然显示旧地址showforum-{0}-{1}.aspx,几经周折无耐只能查看Discuz!NT的源代码,才发现Discuz!NT的ShowForumAspxRewrite函数根本没有将forumid转换为设置好的url地址,而都是转为默认地址。
- public static string ShowForumAspxRewrite(int forumid, int pageid)
- {
- //当使用伪aspx
- if (config.Aspxrewrite == 1)
- {
- if (pageid > 1)
- return "showforum-" + forumid + "-" + pageid + config.Extname;
- else
- return "showforum-" + forumid + config.Extname;
- }
- else
- {
- if (pageid > 1)
- return "showforum.aspx?forumid=" + forumid + "&page=" + pageid;
- else
- return "showforum.aspx?forumid=" + forumid;
- }
- }
程序在判断完Aspxrewrite之后直接return了默认的url地址showforum,调用了该函数转换自然是不能转换为正确的地址了。要想转换为正确的url,只能自己修改源码了。