分享

写回答

发帖

[提问] web.config 要怎么设置才能同时实现301和伪静态

GoDaddy GoDaddy 1568 人阅读 | 9 人回复

发表于 2011-12-14 01:30:33 | 显示全部楼层 |阅读模式

我用的是DZ论坛,我想通过 web.config 同时实现301和伪静态,但是两个代码,不管我怎么加,都不能同时实现这个效果。有没有人可以给我看一下是哪里出错了吗?

<?xml version="1.0" encoding="GBK"?>
<configuration>
    <system.webServer>
       <rewrite>
            <rules>
                <rule name="Imported Rule 17">
                    <match url="^archiver/((fid|tid)-[\w\-]+\.html)$" ignoreCase="false" />
                    <action type="Rewrite" url="archiver/index.php?{R:1}" appendQueryString="false" />
                </rule>
                <rule name="Imported Rule 18">
                    <match url="^forum-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" />
                    <action type="Rewrite" url="forumdisplay.php?fid={R:1}&page={R:2}" appendQueryString="false" />
                </rule>
                <rule name="Imported Rule 19">
                    <match url="^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" />
                    <action type="Rewrite" url="viewthread.php?tid={R:1}&extra=page\%3D{R:3}&page={R:2}" appendQueryString="false" />
                </rule>
                <rule name="Imported Rule 20">
                    <match url="^space-(username|uid)-(.+)\.html$" ignoreCase="false" />
                    <action type="Rewrite" url="space.php?{R:1}={R:2}" appendQueryString="false" />
                </rule>
                <rule name="Imported Rule 21">
                    <match url="^tag-(.+)\.html$" ignoreCase="false" />
                    <action type="Rewrite" url="tag.php?name={R:1}" appendQueryString="false" />
                </rule>
            </rules>
        </rewrite>
  <httpErrors errorMode="Detailed" />
  <asp scriptErrorSentToBrowser="true" />
  </system.webServer>
<system.web>
<customErrors mode="Off" />
<globalization requestEncoding="GBK" responseEncoding="GBK" fileEncoding="GBK" />
</system.web>
</configuration>
<?xml version="1.0" encoding="GBK"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="301 1" stopProcessing="true">
                    <match url="^(.*)$"/>
                    <conditions>
                    <add input="{HTTP_HOST}" pattern="^jdwx114.com$" />
                    </conditions>
                    <action type="Redirect" redirectType="Permanent" url="http://www.jdwx114.com/{R:0}" />
                </rule>
             </rules>
        </rewrite>
    </system.webServer>
</configuration>

回答|共 9 个

xiuku520

发表于 2011-12-14 01:32:37 | 显示全部楼层

像现在这个代码的设置,只能实现伪静态,如果我把下面的301重定向换到上面上去,那伪静态就实现不了了。有没有人能帮忙改一下整个代码,让他两个效果都能同时实现吗?
回复 支持 反对

使用道具 举报

暮木娃娃

发表于 2011-12-14 09:20:45 | 显示全部楼层

直接在伪静态代码的结束语</configuration>
后面添加<rule name="301 1" stopProcessing="true">
                    <match url="^(.*)$"/>
                    <conditions>
                    <add input="{HTTP_HOST}" pattern="^jdwx114.com$" />
                    </conditions>
                    <action type="Redirect" redirectType="Permanent" url="http://www.jdwx114.com/{R:0}" />
                </rule>
回复 支持 反对

使用道具 举报

lwbo1987

发表于 2011-12-14 10:01:27 | 显示全部楼层

  1. <?xml version="1.0" encoding="GBK"?>
  2. <configuration>
  3.      <system.webServer>
  4.         <rewrite>
  5.              <rules>
  6.                  <rule name="Imported Rule 17">
  7.                      <match url="^archiver/((fid|tid)-[\w\-]+\.html)$" ignoreCase="false" />
  8.                      <action type="Rewrite" url="archiver/index.php?{R:1}" appendQueryString="false" />
  9.                  </rule>
  10.                  <rule name="Imported Rule 18">
  11.                      <match url="^forum-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" />
  12.                      <action type="Rewrite" url="forumdisplay.php?fid={R:1}&page={R:2}" appendQueryString="false" />
  13.                  </rule>
  14.                  <rule name="Imported Rule 19">
  15.                      <match url="^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" />
  16.                      <action type="Rewrite" url="viewthread.php?tid={R:1}&extra=page\%3D{R:3}&page={R:2}" appendQueryString="false" />
  17.                  </rule>
  18.                  <rule name="Imported Rule 20">
  19.                      <match url="^space-(username|uid)-(.+)\.html$" ignoreCase="false" />
  20.                      <action type="Rewrite" url="space.php?{R:1}={R:2}" appendQueryString="false" />
  21.                  </rule>
  22.                  <rule name="Imported Rule 21">
  23.                      <match url="^tag-(.+)\.html$" ignoreCase="false" />
  24.                      <action type="Rewrite" url="tag.php?name={R:1}" appendQueryString="false" />
  25.                  </rule>
  26.              </rules>
  27.          </rewrite>
  28.    <httpErrors errorMode="Detailed" />
  29.    <asp scriptErrorSentToBrowser="true" />
  30.    </system.webServer>
  31. <system.web>
  32. <customErrors mode="Off" />
  33. <globalization requestEncoding="GBK" responseEncoding="GBK" fileEncoding="GBK" />
  34. </system.web>

  35.   <system.webServer>
  36.          <rewrite>
  37.              <rules>
  38.                  <rule name="301 1" stopProcessing="true">
  39.                      <match url="^(.*)$"/>
  40.                      <conditions>
  41.                      <add input="{HTTP_HOST}" pattern="^jdwx114.com$" />
  42.                      </conditions>
  43.                      <action type="Redirect" redirectType="Permanent" url="http://www.jdwx114.com/{R:0}" />
  44.                  </rule>
  45.               </rules>
  46.          </rewrite>
  47.      </system.webServer>
  48. </configuration>
复制代码
试试看吧
回复 支持 反对

使用道具 举报

xiuku520

发表于 2011-12-14 11:23:56 | 显示全部楼层

娃娃的方法,我上传代码之后,网页没有任何变化,也实现不了301 还能伪静态,

而版主的方法,上传之后,网页打不开了,直接 500 错误。
回复 支持 反对

使用道具 举报

暮木娃娃

发表于 2011-12-14 11:39:43 | 显示全部楼层

那你把match url改成这个试试:<match url=".*"/>
或者直接把整段代码重新复制一遍。
回复 支持 反对

使用道具 举报

lwbo1987

发表于 2011-12-14 11:42:07 | 显示全部楼层

回复 5# 的帖子

那应该是代码有问题,将301代码放到合适的位置就行了,自己尝试看看
回复 支持 反对

使用道具 举报

龙腾宇内

发表于 2011-12-20 14:50:31 | 显示全部楼层

楼主,看看是不是这样?www.zixuanju.com或zixuanju.com
回复 支持 反对

使用道具 举报

龙腾宇内

发表于 2011-12-20 14:51:08 | 显示全部楼层

我是自己修改的,把两个规则合成了一个,
回复 支持 反对

使用道具 举报

暮木娃娃

发表于 2011-12-20 14:57:31 | 显示全部楼层

回复 8# 的帖子

是的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则