DiscuzX1.5 真正的IIS7用无错URL静态化规则
发布时间:2011-02-16 14:27:48 作者:佚名 我要评论
在康盛的论坛里找到了可以用的伪静态规则,经验证可以使用,下面是规则
首先发下牢骚 ,康盛真的是不咋地,伪静态的设置什么的都不说明,以前7.0时,就不好设置伪静态,因为那时候我用的是win 主机,不支持.htaccess所以就要去找httpd.ini 的。现在的DX1.5提供的到是多了一点,一共提供了6种,并且也提供了IIS的伪静态规则 ,不过提供的都是独立主机用的版本,真是不知道该说什么。
之前说了我把DZ7.2转换到了DX1.5,我放在了Godaddy的免费空间里,用的WIN主机 IIS7 版本,这样就没有另人讨厌的广告了,同时如果安装WOWordpress的话伪静态也可以得到解决。不过我把DX传上去之后发现不能设置伪静态,因为后台并没有提供IIS7 虚拟主机的伪静态规则,那就只有在网上搜了,终于在康盛的论坛里找到了可以用的伪静态规则,经验证可以使用,下面是规则
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="portal_topic">
<match url="^topic-(.+)\.html$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="portal.php?mod=topic&topic={R:1}&{C:1}" appendQueryString="false" />
</rule>
<rule name="portal_article">
<match url="^article-([0-9]+)\.html$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="portal.php?mod=view&aid={R:1}&page={page}&{C:1}" appendQueryString="false" />
</rule>
<rule name="forum_forumdisplay">
<match url="^forum-(\w+)-([0-9]+)\.html$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="forum.php?mod=forumdisplay&fid={R:1}&page={R:2}&{C:1}" appendQueryString="false" />
</rule>
<rule name="forum_viewthread">
<match url="^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="forum.php?mod=viewthread&tid={R:1}&extra=page\%3D{R:3}&page={R:2}&{C:1}" appendQueryString="false" />
</rule>
<rule name="group_group">
<match url="^group-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="forum.php?mod=group&fid={R:1}&page={R:2}&{C:1}" appendQueryString="false" />
</rule>
<rule name="home_space">
<match url="^space-(username|uid)-(.+)\.html$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="home.php?mod=space&{R:1}={R:2}&{C:1}" appendQueryString="false" />
</rule>
<rule name="all_script">
<match url="^([a-z]+)-(.+)\.html$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="{R:1}.php?rewrite={R:2}&{C:1}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
将以上内容复制,并创建web.config文件,粘贴进去,上传到空间就可以了
经测试如要在门户文章页实现伪静态,就要在后台把文章门户页的链接格式改为portal-view-aid-{id}.html 再开户文章门户页的伪静态才可以,官方默认的链接格式会找不到页面
这个规则只适用于IIS7 虚拟主机安装的DiscuzX 1.5版本。
之前说了我把DZ7.2转换到了DX1.5,我放在了Godaddy的免费空间里,用的WIN主机 IIS7 版本,这样就没有另人讨厌的广告了,同时如果安装WOWordpress的话伪静态也可以得到解决。不过我把DX传上去之后发现不能设置伪静态,因为后台并没有提供IIS7 虚拟主机的伪静态规则,那就只有在网上搜了,终于在康盛的论坛里找到了可以用的伪静态规则,经验证可以使用,下面是规则
复制代码
代码如下:<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="portal_topic">
<match url="^topic-(.+)\.html$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="portal.php?mod=topic&topic={R:1}&{C:1}" appendQueryString="false" />
</rule>
<rule name="portal_article">
<match url="^article-([0-9]+)\.html$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="portal.php?mod=view&aid={R:1}&page={page}&{C:1}" appendQueryString="false" />
</rule>
<rule name="forum_forumdisplay">
<match url="^forum-(\w+)-([0-9]+)\.html$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="forum.php?mod=forumdisplay&fid={R:1}&page={R:2}&{C:1}" appendQueryString="false" />
</rule>
<rule name="forum_viewthread">
<match url="^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="forum.php?mod=viewthread&tid={R:1}&extra=page\%3D{R:3}&page={R:2}&{C:1}" appendQueryString="false" />
</rule>
<rule name="group_group">
<match url="^group-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="forum.php?mod=group&fid={R:1}&page={R:2}&{C:1}" appendQueryString="false" />
</rule>
<rule name="home_space">
<match url="^space-(username|uid)-(.+)\.html$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="home.php?mod=space&{R:1}={R:2}&{C:1}" appendQueryString="false" />
</rule>
<rule name="all_script">
<match url="^([a-z]+)-(.+)\.html$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="{R:1}.php?rewrite={R:2}&{C:1}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
将以上内容复制,并创建web.config文件,粘贴进去,上传到空间就可以了
经测试如要在门户文章页实现伪静态,就要在后台把文章门户页的链接格式改为portal-view-aid-{id}.html 再开户文章门户页的伪静态才可以,官方默认的链接格式会找不到页面
这个规则只适用于IIS7 虚拟主机安装的DiscuzX 1.5版本。
相关文章
- 这是我去年自己花了一个下午一点点研究出来的,现在免费贡献给大家试用,代码放入后台统计即可,效果如下2020-11-16
- 如果想要404页面跟网站其他页面一样带有顶部和底部导航,能显示用户信息怎么办呢?今天小编就为大家介绍discuz设置嵌入式404页面教程,来看看吧2016-05-10
Discuz X3/3.1 门户中的Keyword和Description显示不正确的解决方法
这篇文章主要介绍了Discuz X3/3.1 门户中的Keyword和Description显示不正确的解决方法,默认显示的是游客能看到的,而Discuz 对游客屏蔽了关键词与描述,为了SEO,还是让它正常2015-03-25- 这篇文章主要介绍了Discuz提示您安装的不是正版应用问题解决办法,完整提示“对不起,您安装的不是正版应用,安装程序无法继续执行”,本文使用修改PHP文件的方法解决了这个2015-03-25
- 这篇文章主要介绍了Discuz和jQuery变量名冲突的3种解决方法,在开发模板或者插件时经常遇到这个问题,本文列出的3种方法都可以解决这个问题,需要的朋友可以参考下2015-03-25
Discuz提示“密码错误次数过多,请15分钟后重新登陆”问题解决方法
这篇文章主要介绍了Discuz提示“密码错误次数过多,请15分钟后重新登陆”问题解决方法,本文方法适合网站管理员操作,不是普通网友可以使用的解决方法,需要的朋友可以参考下2015-03-25- 帖子数量上万,一开始是通过设置词语过滤,发现无效果,只能通过数据库批量替换了,具体方法请接着往下看2014-09-04
Discuz!X3.2版设置论坛QQ在线客服号码无法发起聊天的问题解决办法
这篇文章主要介绍了Discuz!X3.2版设置论坛QQ在线客服号码无法发起聊天的问题解决办法,需要的朋友可以参考下2014-08-03- 这篇文章主要为大家介绍了Discuz论坛发帖技巧,需要的朋友可以参考下2014-06-21
- 这篇文章主要为大家介绍了Discuz论坛宣传与优化技巧,需要的朋友可以参考下2014-06-21
最新评论