简要咨询咨询QQ网站导航网站搜索手机站点联系我们设为首页加入收藏 

Discuz! X2子目录伪静态的实现方法

来源:易贤网   阅读:1119 次  日期:2014-09-04 14:46:16

温馨提示:易贤网小编为您整理了“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&amp;topic={R:2}&amp;{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&amp;aid={R:2}&amp;page={R:3}&amp;{R:4}" />

</rule>

<rule name="forum_forumdisplay">

<match url="^(.*)/forum-(w+)-([0-9]+).html?*(.*)$" />

<action type="Rewrite" url="{R:1}/forum.php?mod=forumdisplay&amp;fid={R:2}&amp;page={R:3}&amp;{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&amp;tid={R:2}&amp;extra=page%3D{R:4}&amp;page={R:3}&amp;{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&amp;fid={R:2}&amp;page={R:3}&amp;{R:4}" />

</rule>

<rule name="home_space">

<match url="^(.*)/space-(username|uid)-(.+).html?*(.*)$" />

<action type="Rewrite" url="{R:1}/home.php?mod=space&amp;{R:2}={R:3}&amp;{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&amp;uid={R:2}&amp;do=blog&amp;id={R:3}&amp;{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}&amp;value={R:3}&amp;{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了,实在不会的朋友直接抄袭吧。

更多信息请查看IT技术专栏

更多信息请查看CMS教程
点此处就本文及相关问题在本站进行非正式的简要咨询(便捷快速)】     【点此处查询各地各类考试咨询QQ号码及交流群
上一篇:DedeCMS广告模块修改信息 前台显示未更新的解决方法
下一篇:Typecho 单独调用某分类目录文章列表的方法
易贤网手机网站地址:Discuz! X2子目录伪静态的实现方法
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
相关阅读      CMS教程