王雨泽 發表於 2023-6-6 00:00:00

DiscuzX1.5 真正的IIS7用无错URL静态化规则

<p>
<span>首先发下牢骚 ,康盛真的是不咋地,伪静态的设置什么的都不说明,以前7.0时,就不好设置伪静态,因为那时候我用的是win 主机,不支持.htaccess所以就要去找httpd.ini 的。现在的DX1.5提供的到是多了一点,一共提供了6种,并且也提供了IIS的伪静态规则 ,不过提供的都是独立主机用的版本,真是不知道该说什么。 </span><br><span>之前说了我把DZ7.2转换到了DX1.5,我放在了Godaddy的免费空间里,用的WIN主机 IIS7 版本,这样就没有另人讨厌的广告了,同时如果安装WOWordpress的话伪静态也可以得到解决。不过我把DX传上去之后发现不能设置伪静态,因为后台并没有提供IIS7 虚拟主机的伪静态规则,那就只有在网上搜了,终于在康盛的论坛里找到了可以用的伪静态规则,经验证可以使用,下面是规则 </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
&lt;?xml version="1.0" encoding="UTF-8"?&gt; <br>
&lt;configuration&gt; <br>
&lt;system.webServer&gt; <br>
&lt;rewrite&gt; <br>
&lt;rules&gt; <br>
&lt;rule name="portal_topic"&gt; <br>
&lt;match url="^topic-(.+)\.html$" ignoreCase="false" /&gt; <br>
&lt;conditions logicalGrouping="MatchAll"&gt; <br>
&lt;add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /&gt; <br>
&lt;/conditions&gt; <br>
&lt;action type="Rewrite" url="portal.php?mod=topic&amp;amp;topic={R:1}&amp;amp;{C:1}" appendQueryString="false" /&gt; <br>
&lt;/rule&gt; <br>
&lt;rule name="portal_article"&gt; <br>
&lt;match url="^article-(+)\.html$" ignoreCase="false" /&gt; <br>
&lt;conditions logicalGrouping="MatchAll"&gt; <br>
&lt;add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /&gt; <br>
&lt;/conditions&gt; <br>
&lt;action type="Rewrite" url="portal.php?mod=view&amp;amp;aid={R:1}&amp;amp;page={page}&amp;amp;{C:1}" appendQueryString="false" /&gt; <br>
&lt;/rule&gt; <br>
&lt;rule name="forum_forumdisplay"&gt; <br>
&lt;match url="^forum-(\w+)-(+)\.html$" ignoreCase="false" /&gt; <br>
&lt;conditions logicalGrouping="MatchAll"&gt; <br>
&lt;add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /&gt; <br>
&lt;/conditions&gt; <br>
&lt;action type="Rewrite" url="forum.php?mod=forumdisplay&amp;amp;fid={R:1}&amp;amp;page={R:2}&amp;amp;{C:1}" appendQueryString="false" /&gt; <br>
&lt;/rule&gt; <br>
&lt;rule name="forum_viewthread"&gt; <br>
&lt;match url="^thread-(+)-(+)-(+)\.html$" ignoreCase="false" /&gt; <br>
&lt;conditions logicalGrouping="MatchAll"&gt; <br>
&lt;add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /&gt; <br>
&lt;/conditions&gt; <br>
&lt;action type="Rewrite" url="forum.php?mod=viewthread&amp;amp;tid={R:1}&amp;amp;extra=page\%3D{R:3}&amp;amp;page={R:2}&amp;amp;{C:1}" appendQueryString="false" /&gt; <br>
&lt;/rule&gt; <br>
&lt;rule name="group_group"&gt; <br>
&lt;match url="^group-(+)-(+)\.html$" ignoreCase="false" /&gt; <br>
&lt;conditions logicalGrouping="MatchAll"&gt; <br>
&lt;add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /&gt; <br>
&lt;/conditions&gt; <br>
&lt;action type="Rewrite" url="forum.php?mod=group&amp;amp;fid={R:1}&amp;amp;page={R:2}&amp;amp;{C:1}" appendQueryString="false" /&gt; <br>
&lt;/rule&gt; <br>
&lt;rule name="home_space"&gt; <br>
&lt;match url="^space-(username|uid)-(.+)\.html$" ignoreCase="false" /&gt; <br>
&lt;conditions logicalGrouping="MatchAll"&gt; <br>
&lt;add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /&gt; <br>
&lt;/conditions&gt; <br>
&lt;action type="Rewrite" url="home.php?mod=space&amp;amp;{R:1}={R:2}&amp;amp;{C:1}" appendQueryString="false" /&gt; <br>
&lt;/rule&gt; <br>
&lt;rule name="all_script"&gt; <br>
&lt;match url="^(+)-(.+)\.html$" ignoreCase="false" /&gt; <br>
&lt;conditions logicalGrouping="MatchAll"&gt; <br>
&lt;add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /&gt; <br>
&lt;/conditions&gt; <br>
&lt;action type="Rewrite" url="{R:1}.php?rewrite={R:2}&amp;amp;{C:1}" appendQueryString="false" /&gt; <br>
&lt;/rule&gt; <br>
&lt;/rules&gt; <br>
&lt;/rewrite&gt; <br>
&lt;/system.webServer&gt; <br>
&lt;/configuration&gt; </p>
<p>
<br><span>将以上内容复制,并创建web.config文件,粘贴进去,上传到空间就可以了 </span><br><span>经测试如要在门户文章页实现伪静态,就要在后台把文章门户页的链接格式改为portal-view-aid-{id}.html 再开户文章门户页的伪静态才可以,官方默认的链接格式会找不到页面 </span><br><span>这个规则只适用于IIS7 虚拟主机安装的DiscuzX 1.5版本。</span></p>
頁: [1]
查看完整版本: DiscuzX1.5 真正的IIS7用无错URL静态化规则