0

使用漂亮的永久链接时,我遇到了可怕的“未指定输入文件”错误,但我认为这是 WordPress 问题,而不是重写模块问题。我在 IIS7 和 WP 3.4.2 上。漂亮的固定链接是:

http://www.mydomain.com/blog/2012/09/20/post-name/

这正确地重写为:

http://www.mydomain.com/blog/index.php/2012/09/20/post-name/

我认为重写是正确的,因为当我手动转到后一个 url 时,我仍然得到错误。所以我认为问题在于WordPress。不过,为了完整起见,这里是重写规则:

   <rule name="Main Rule" stopProcessing="true">
      <match url="^blog/(.+)" />
      <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
      </conditions>
      <action type="Rewrite" url="/blog/index.php/{R:1}" />
    </rule>

SO上有很多关于这个问题的帖子,但它们似乎都是重写问题,所以我不认为这是我遇到的问题的任何问题的重复。

4

1 回答 1

0

嗯,这是一个重写问题,有点。在上面的模式中,我没有考虑到该站点位于共享主机上,并且/blog实际上指向\subfolder\blog. 更改它如下修复它:

   <rule name="Main Rule" stopProcessing="true">
      <match url="^blog/(.+)" />
      <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
      </conditions>
      <action type="Rewrite" url="/subfolder/blog/index.php/{R:1}" />
    </rule>

这并不理想,因为我必须硬编码子文件夹的名称,但现在,我会接受它。

于 2012-09-26T20:50:08.377 回答