【问题标题】:Convert isapi rewrite rules to IIS 7 rewrite将 isapi 重写规则转换为 IIS 7 重写
【发布时间】:2013-12-01 00:49:07
【问题描述】:

我在 vBulletin 论坛上使用带有 vbSEO 的 helicon isapi 重写。如果我使用 IIS 7,我认为不需要使用单独的 isapi 重写工具。重写规则和正则表达式不是我的强项。如果有人可以帮助我将以下信息转换为 IIS 7 url 重写配置,我将不胜感激。

提前谢谢你。

RewriteCond %{HTTP_HOST} .*vbdotnetforums.com
RewriteRule ^((urllist|sitemap).*\.(xml|txt)(\.gz)?)$ vbseo_sitemap/vbseo_getsitemap.php?sitemap=$1 [L]

RewriteCond %{HTTP_HOST} .*vbdotnetforums.com
RewriteCond %{REQUEST_URI} !/(admincp/|modcp/|cron)
RewriteRule ^/((archive/)?(.*\.php(/.*)?))$ /vbseo.php?vbseourl=$1 [L,QSA]

RewriteCond %{HTTP_HOST} .*vbdotnetforums.com
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !^/(admincp|modcp|clientscript|cpstyles|images|search\.php|api\.php)/
RewriteRule ^/(.+)$ /vbseo.php?vbseourl=$1 [L,QSA]

【问题讨论】:

    标签: regex iis-7 url-rewriting isapi-rewrite


    【解决方案1】:

    这个怎么样:

    <rewrite>
      <rules>
        <rule name="Imported Rule 1" stopProcessing="true">
          <match url="^((urllist|sitemap).*\.(xml|txt)(\.gz)?)$" />
          <conditions>
            <add input="{HTTP_HOST}" pattern=".*vbdotnetforums.com"  />
          </conditions>
          <action type="Rewrite" url="vbseo_sitemap/vbseo_getsitemap.php?sitemap={R:1}" appendQueryString="false" />
        </rule>
        <rule name="Imported Rule 2" stopProcessing="true">
          <match url="^((archive/)?(.*\.php(/.*)?))$" />
          <conditions>
            <add input="{HTTP_HOST}" pattern=".*vbdotnetforums.com" />
            <add input="{URL}" pattern="/(admincp/|modcp/|cron)" negate="true" />
          </conditions>
          <action type="Rewrite" url="/vbseo.php?vbseourl={R:1}" appendQueryString="true" />
        </rule>
        <rule name="Imported Rule 3" stopProcessing="true">
          <match url="^(.+)$" />
          <conditions>
            <add input="{HTTP_HOST}" pattern=".*vbdotnetforums.com" />
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            <add input="{REQUEST_FILENAME}" pattern="^/(admincp|modcp|clientscript|cpstyles|images|search\.php|api\.php)/" negate="true" />
          </conditions>
          <action type="Rewrite" url="/vbseo.php?vbseourl={R:1}" appendQueryString="true" />
        </rule>
      </rules>
    </rewrite>
    

    您知道您可以使用 IIS7 的管理控制台导入 ISAPI_Rewrite 规则(基于 mod_rewrite)吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-12
      • 2016-01-02
      • 2013-08-09
      • 2014-10-29
      • 2011-04-25
      • 2014-01-05
      • 2014-05-01
      • 2014-08-22
      相关资源
      最近更新 更多