wordpress multisite using subdomain/ iis + url rewrite module 2.0 / web.config
<p>上次配好wp多人博客后,使用时发现点击固定链接后会报404,想必是当时url rewrite没做好。</p>
<p>这次去看,发现当时是根据wp的提示用了.htaccess文件来做url重写的,果断二了,哥用的是iis饿。。</p>
<p>(因为学院官网是asp.net的,然后我要做subdomain又不能带端口,所以就没法用apache了。。。</p>
<p>上网查了下iis下替代.htaccess的貌似是httpd.ini,然后又各种查搞不出来啊 - -。</p>
<p>然后搜到<a href="http://www.helicontech.com/forum/18684-WordPress_Multisite_Permalinks_IIS6.html">这个</a>,开始有点无力了.....</p>
<p>然后换了个思路...发现可以用web.config这样...<a href="http://lauragentry.com/blog/2010/07/30/how-to-create-a-wordpress-3-0-multisite-network-on-a-windows-server-using-sub-directories/">这里</a>..(有点不一样,他用的是subdirectory</p>
<p>然后发现了貌似很吊的<a href="http://www.iis.net/downloads/microsoft/url-rewrite">iis url rewrite 2.0</a>...</p>
<p>然后对比着wp给的.htaccess重写规则改写成web.config了...</p>
<p><!--more--></p>
<p>1、.htaccess</p>
<p> </p>
<pre class="brush: bash;fontsize: 100; first-line: 1; ">RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L]</pre>
<p>2、web.config</p>
<p> </p>
<pre class="brush: xml;fontsize: 100; first-line: 1; "><?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="WordPress Rule 1" stopProcessing="true">
<match url="^index\.php<!--more--><span id="_mce_tmp">XX</span>quot; ignoreCase="false" />
<action type="None" />
</rule>
<rule name="WordPress Rule 2" stopProcessing="true">
<match url="^files/(.+)" ignoreCase="false" />
<action type="Rewrite" url="wp-includes/ms-files.php?file={R:1}" appendQueryString="false" />
</rule>
<rule name="WordPress Rule 4" stopProcessing="true">
<match url="^" ignoreCase="false" />
<conditions logicalGrouping="MatchAny">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" />
</conditions>
<action type="None" />
</rule>
<rule name="WordPress Rule 7" stopProcessing="true">
<match url="." ignoreCase="false" />
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration></pre>
<p> </p>
<p> </p>
<p> </p>
<p>最后,运行正常~OK~</p>
<p><a href="http://tclh123.blog.sssta.co/">http://tclh123.blog.sssta.co/</a></p>
<p> </p>
--End--