List of pseudo-static rules for common programs under IIS (including WordPress, ThinkPHP)

Published: 2014-12-23

shopex discuz2.0 discuz2.5 discuz3.x Taobaoke ecshop phpwind refer to http://www.west.cn/faq/list.asp?unid=797 and configure through the hosting control panel.

wordpress settings (Windows is not recommended by the system; if possible, switch to Linux for more stable operation):

Step 1:

 Log in to the wordpress backend, go to Settings--Permalinks--Custom Structure, and select the URL format under Settings.

Step 2:

Create a new file named: web.config, write the following rules in it, and upload it to the wwwroot directory.

<?xml version="1.0" encoding="UTF-8"?>
  <configuration>
   <system.webServer>
     <rewrite>
       <rules>
         <rule name="URL" stopProcessing="true">
          <match url="^(.*)$" />
          <conditions>
             <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
             <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="index.php"/>
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

Thinkphp pseudo-static rules:

 Manually create a web.config file in the site root directory

<?xml version="1.0" encoding="UTF-8"?>
   <configuration>
     <system.webServer>
       <rewrite>
         <rules>
            <rule name="Imported Rule 1" stopProcessing="true">
              <match url=".*\.(?:gif|jpg|png|css|js|txt|jpeg|swf|flv)" />
             <action type="Rewrite" url="{R:0}" />
           </rule>
            <rule name="Imported Rule 2">
             <match url="/httpd(?:\.ini|\.parse\.errors)" />
              <action type="CustomResponse" url="/" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
            </rule>
           <rule name="Imported Rule 3" stopProcessing="true">
              <match url="^(?!/index.php)(?!/admin.php)(.*)$" ignoreCase="false" />
              <conditions logicalGrouping="MatchAll">
              <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
              </conditions>
             <action type="Rewrite" url="/index.php/{R:1}" />
           </rule>
        </rules>
      </rewrite>
   </system.webServer>
</configuration>