IIS 上的 Wordpress - 请
Wordpress on IIS - Please
环境:
Azure 虚拟机
服务器 2012 R2
IIS v8.5
场景:
在网络接口上打开了 http 端口 -
可以使用 VM IP 地址访问默认 IIS 页面 (http://40.77.29.12/)
使用 Microsoft WPI 在 VM 上安装了 Wordpress(Windows 平台安装程序)-
可以在服务器本地到达wordpress安装没问题
已创建域名注册商的主机 A 记录 -
Ping 域名(systmerror.com)解析为虚拟机 IP 地址
访问域returns 403 forbidden -
http://systmerror.com/
我对任何想法都持开放态度,我已经研究并尝试了很多东西但没有成功。
这里针对你的问题提出一些建议:
确保您已经将主机名配置为 IIS 网站绑定,以便访问正确的 IIS 网站。
接下来您可以检查 "index.php" 是否已添加到 IIS 顶级或网站级别配置的默认文档中。
检查用户IUSR是否对网站根文件夹有读取权限,您可以添加此用户对上传文件夹具有写入权限以确保有效。
不要忘记IIS中的Rewrite Module(需要安装),在web.config中进行正确的配置,例如:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="WordPress Rule 1" stopProcessing="true">
<match url="^index\.php$" ignoreCase="false" />
<action type="None" />
</rule>
<rule name="WordPress Rule 2" stopProcessing="true">
<match url="^wp-admin$" ignoreCase="false" />
<action type="Redirect" url="wp-admin/" redirectType="Permanent" />
</rule>
<rule name="WordPress Rule 3" stopProcessing="true">
<match url="^" ignoreCase="false" />
<conditions logicalGrouping="MatchAny">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" />
</conditions>
<action type="None" />
</rule>
<rule name="WordPress Rule 4" stopProcessing="true">
<match url="^(wp-(content|admin|includes).*)" ignoreCase="false" />
<action type="Rewrite" url="{R:1}" />
</rule>
<rule name="WordPress Rule 5" stopProcessing="true">
<match url="^([_0-9a-zA-Z-]+/)?(.*\.php)$" ignoreCase="false" />
<action type="Rewrite" url="{R:2}" />
</rule>
<rule name="WordPress Rule 6" stopProcessing="true">
<match url="." ignoreCase="false" />
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
环境:
Azure 虚拟机 服务器 2012 R2 IIS v8.5
场景:
在网络接口上打开了 http 端口 - 可以使用 VM IP 地址访问默认 IIS 页面 (http://40.77.29.12/)
使用 Microsoft WPI 在 VM 上安装了 Wordpress(Windows 平台安装程序)- 可以在服务器本地到达wordpress安装没问题
已创建域名注册商的主机 A 记录 - Ping 域名(systmerror.com)解析为虚拟机 IP 地址
访问域returns 403 forbidden - http://systmerror.com/
我对任何想法都持开放态度,我已经研究并尝试了很多东西但没有成功。
这里针对你的问题提出一些建议:
确保您已经将主机名配置为 IIS 网站绑定,以便访问正确的 IIS 网站。
接下来您可以检查 "index.php" 是否已添加到 IIS 顶级或网站级别配置的默认文档中。
检查用户IUSR是否对网站根文件夹有读取权限,您可以添加此用户对上传文件夹具有写入权限以确保有效。
不要忘记IIS中的Rewrite Module(需要安装),在web.config中进行正确的配置,例如:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="WordPress Rule 1" stopProcessing="true"> <match url="^index\.php$" ignoreCase="false" /> <action type="None" /> </rule> <rule name="WordPress Rule 2" stopProcessing="true"> <match url="^wp-admin$" ignoreCase="false" /> <action type="Redirect" url="wp-admin/" redirectType="Permanent" /> </rule> <rule name="WordPress Rule 3" stopProcessing="true"> <match url="^" ignoreCase="false" /> <conditions logicalGrouping="MatchAny"> <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" /> </conditions> <action type="None" /> </rule> <rule name="WordPress Rule 4" stopProcessing="true"> <match url="^(wp-(content|admin|includes).*)" ignoreCase="false" /> <action type="Rewrite" url="{R:1}" /> </rule> <rule name="WordPress Rule 5" stopProcessing="true"> <match url="^([_0-9a-zA-Z-]+/)?(.*\.php)$" ignoreCase="false" /> <action type="Rewrite" url="{R:2}" /> </rule> <rule name="WordPress Rule 6" stopProcessing="true"> <match url="." ignoreCase="false" /> <action type="Rewrite" url="index.php" /> </rule> </rules> </rewrite> </system.webServer> </configuration>