Wordpress 500 (URL重写模块错误)


Wordpress 500 (URL Rewrite Module Error.)

我在IIS 8托管Wordpress网站我得到以下错误:

Failed to load resource:服务器响应的状态为500(URL重写模块错误)

当我上传新图像并显示时。如果我去wp-content并给IIS_USRS访问,那么图像工作,当我添加一个新图像时,我必须删除IIS_USRS并再次添加它以使图像工作

如果我使用以下web配置,网站永远不会加载

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
  <rules>
    <rule name="wordpress" patternSyntax="Wildcard">
      <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>

在你的网页中使用下面提到的规则。配置文件:

<rules>
    <rule name="Imported Rule 1" stopProcessing="true">
        <match url="^index'.php$" ignoreCase="false"/>
        <action type="None"/>
    </rule>
    <rule name="Redirect Image to HTTP" stopProcessing="true">
        <match url=".*'.(gif|jpg|jpeg|png|css|js)$" ignoreCase="true"/>
        <action type="Rewrite" url="{R:0}"/>
    </rule>
    <rule name="Imported Rule 2" stopProcessing="true">
        <match url="." ignoreCase="false"/>
        <conditions>
            <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"/>
    </rule>
</rules>

我将安全选项卡中的权限更改为iis管理器内wordpress的wp-content文件夹,这是必要的编辑,然后我将完全控制权交给IIS_USRS,错误解决了

如果有人仍然有这个问题,为我修复它的最后一步是将应用程序池的身份设置为'本地系统'(右键单击列表中的应用程序池->高级设置->

也要遵循Alejandro的建议,确保设置了足够的文件夹权限。

对我来说,改变应用程序池的身份是有效的(感谢lockstock)。作为一种解决方法,我通过裁剪图像并保存它们来测试它,不需要编辑权限。我使用最新更新的winserver2019 (IIS 10和PHP 7.4)。

注意:如果你正在创建一个新的wp站点,默认使用http://localhost/?P=123作为永久链接,但如果你想将其更改为%postname%, wp将在IIS的URL重写下创建一个新规则,这就是任何文件都显示错误的原因,post。我希望这对你有帮助。

URL重写规则

服务器对临时文件夹没有适当的权限C:'Windows'临时"目录

  1. 编辑php.ini文件并将" upload_tmp_dir "变量的位置从Windows TEMP目录更改到另一个位置

  2. 重新启动服务器