DiscuzX1.5 真正的IIS7用無錯URL靜態(tài)化規(guī)則

字號:


    首先發(fā)下牢騷 ,康盛真的是不咋地,偽靜態(tài)的設(shè)置什么的都不說明,以前7.0時,就不好設(shè)置偽靜態(tài),因為那時候我用的是win 主機(jī),不支持.htaccess所以就要去找httpd.ini 的?,F(xiàn)在的DX1.5提供的到是多了一點,一共提供了6種,并且也提供了IIS的偽靜態(tài)規(guī)則 ,不過提供的都是獨(dú)立主機(jī)用的版本,真是不知道該說什么。
    之前說了我把DZ7.2轉(zhuǎn)換到了DX1.5,我放在了Godaddy的免費(fèi)空間里,用的WIN主機(jī) IIS7 版本,這樣就沒有另人討厭的廣告了,同時如果安裝WOWordpress的話偽靜態(tài)也可以得到解決。不過我把DX傳上去之后發(fā)現(xiàn)不能設(shè)置偽靜態(tài),因為后臺并沒有提供IIS7 虛擬主機(jī)的偽靜態(tài)規(guī)則,那就只有在網(wǎng)上搜了,終于在康盛的論壇里找到了可以用的偽靜態(tài)規(guī)則,經(jīng)驗證可以使用,下面是規(guī)則
    代碼如下:
    <?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&amp;topic={R:1}&amp;{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&amp;aid={R:1}&amp;page={page}&amp;{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&amp;fid={R:1}&amp;page={R:2}&amp;{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&amp;tid={R:1}&amp;extra=page\%3D{R:3}&amp;page={R:2}&amp;{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&amp;fid={R:1}&amp;page={R:2}&amp;{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&amp;{R:1}={R:2}&amp;{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}&amp;{C:1}" appendQueryString="false" />
    </rule>
    </rules>
    </rewrite>
    </system.webServer>
    </configuration>
    將以上內(nèi)容復(fù)制,并創(chuàng)建web.config文件,粘貼進(jìn)去,上傳到空間就可以了
    經(jīng)測試如要在門戶文章頁實現(xiàn)偽靜態(tài),就要在后臺把文章門戶頁的鏈接格式改為portal-view-aid-{id}.html 再開戶文章門戶頁的偽靜態(tài)才可以,官方默認(rèn)的鏈接格式會找不到頁面
    這個規(guī)則只適用于IIS7 虛擬主機(jī)安裝的DiscuzX 1.5版本。