Wordpress相当永久链接“没有输入文件指定”错误

时间:2012-09-26 19:43:52

标签: wordpress

我得到了可怕的"没有输入文件指定"使用漂亮的永久链接时出错,但我认为这是一个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的帖子,但它们似乎都是重写问题,所以我不会认为这是任何问题的重复我所拥有的那个。

1 个答案:

答案 0 :(得分: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>

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