Discuz! X2子目录伪静态的实现方法
2019-03-24 13:15:24来源: imshu.com 阅读 ()
前几天帮人实现Discuz X2的子目录伪静态,以前没做过,就去查了下百度和Discuz论坛,发现好多人都在找这样的伪静态方法,可是都没真正能解决的方法。
Discuz X2现在用的人还是比较多的,我不知道有多少人用的是IIS7的,用Apache的就好办一些,因为.hacess是可以设置子目录的伪静态规则的,但是 在IIS7下,webconfig究竟怎么放才能实现子目录伪静态没有试过,我百度的时候还有人说IIS7是Discuz X2的非主流环境。
下面我就说一下在IIS7下如何实现Discuz X2的子目录伪静态。
首先说明一下,在IIS7下我们自己测试的时候之所以不能实现,大部分是因为我们把伪静态的文件放在子目录了,造成主目录的规则跟子目录相互冲突。
还有一些是在子目录消除了主目录的伪静态继承,但是依旧打不开。
我通过多次测试发现,IIS7下的子目录伪静态,规则要放在主目录,而且规则的写法不能跟主目录的规则冲突。我这里就不说那么多理论了。直接发规则:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="WWW 301Redirect" stopProcessing="true"> // 301跳转规则
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^domain.comg$" />
</conditions>
<action type="Redirect" url="http://www.domain.com/{R:0}" redirectType="Permanent" />
</rule><rule name="portal_topic"> // 论坛规则开始
<match url="^(.*)/topic-(.+).html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/portal.php?mod=topic&topic={R:2}&{R:3}" />
</rule>
<rule name="portal_article">
<match url="^(.*)/article-([0-9]+)-([0-9]+).html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/portal.php?mod=view&aid={R:2}&page={R:3}&{R:4}" />
</rule>
<rule name="forum_forumdisplay">
<match url="^(.*)/forum-(\w+)-([0-9]+).html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/forum.php?mod=forumdisplay&fid={R:2}&page={R:3}&{R:4}" />
</rule>
<rule name="forum_viewthread">
<match url="^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/forum.php?mod=viewthread&tid={R:2}&extra=page%3D{R:4}&page={R:3}&{R:5}" />
</rule>
<rule name="group_group">
<match url="^(.*)/group-([0-9]+)-([0-9]+).html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/forum.php?mod=group&fid={R:2}&page={R:3}&{R:4}" />
</rule>
<rule name="home_space">
<match url="^(.*)/space-(username|uid)-(.+).html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/home.php?mod=space&{R:2}={R:3}&{R:4}" />
</rule>
<rule name="home_blog">
<match url="^(.*)/blog-([0-9]+)-([0-9]+).html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/home.php?mod=space&uid={R:2}&do=blog&id={R:3}&{R:4}" />
</rule>
<rule name="forum_archiver">
<match url="^(.*)/(fid|tid)-([0-9]+).html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/index.php?action={R:2}&value={R:3}&{R:4}" />
</rule> //论坛规则结束
<rule name="wordpress" patternSyntax="Wildcard"> // WP伪静态规则开始
<match url="*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/bbs1" negate="true" /></conditions>
<action type="Rewrite" url="index.php" />
</rule></rules>
</rewrite>
</system.webServer>
</configuration>
基本上这个规则的子目录已经确定是bbs了,实在不会的朋友直接抄袭吧。
原文地址:http://www.imshu.com/intenet/301.html
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:从seowhy看论坛的发展模式
- 百度智能小程序“产品实验室”已开通使用Discuz论坛 2019-07-15
- 如何快速识别网页是静态、动态、还是伪静态的? 2019-04-10
- WordPress免费使用七牛CDN静态加速服务教程 2019-04-08
- discuz论坛如何搬家? 2019-04-08
- Hexo静态博客免费部署到Coding托管平台全过程 2019-04-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash