我在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'临时"目录
-
编辑php.ini文件并将" upload_tmp_dir "变量的位置从Windows TEMP目录更改到另一个位置
-
重新启动服务器