我必须将WordPressconfiguration为运行在ASP.NET 2.0 Classic模式下的主要网站下的虚拟应用程序。
一切工作正常,PHP 5.3.13 / MySQL 5.1 / IIS 7.5,WordPress的网站也工作正常,除了重写方面。
这个博客是在www.mysite.com/blog的主机,通常重写应改写为www.mysite.com/blog/categorie/this-is-a-pretty-article,而是改写为www.mysite.com/。博客类别/这是一个漂亮的文章,正如你所看到的,它剥夺了博客和类别之间的标签,这是不合适的。
web.config中的重写规则非常直接,从自动生成的WordPress的永久链接部分:
<rewrite> <rules> <clear /> <rule name="wordpress" patternSyntax="Wildcard" stopProcessing="false"> <match url="*" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="index.php" appendQueryString="true" /> </rule> </rules> </rewrite>
我已经失去了一整天,所以我强硬要求这可能是一个好主意。
有人在IIS上有wordpress的麻烦吗?
提前致谢
我认为你的问题是一个纯粹的WordPress设置问题。 来自post的重写规则只对传入的请求很重要。 也就是说,他们将来自请求的URL重写到index.php页面。 它们对于由WordPress生成的任何URL都没有任何重要性,这显然是你的问题所在。
我的猜测是你没有正确configurationSettings -> General -> WordPress address (URL)和Settings -> General -> Site address (URL) 。 两者都应该设置为http://www.mysite.com/blog (没有结尾的斜线)。 如果你使用自定义永久链接( Settings -> Permalinks ),你应该离开/blog在它的前面。 WordPress会自动添加,如同在页面上显示的那样。
当这样configuration,它应该工作。