标题 | Discuz! X2子目录伪静态的实现方法 |
内容 | 前几天帮人实现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了,实在不会的朋友直接抄袭吧。 |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。