在IIS中部署Wordpress
1.准备工作
1.Windows系统
2.PHP程序
下载网址:
https://windows.php.net/download/
或者
https://windows.php.net/downloads/releases/php-8.2.11-nts-Win32-vs16-x64.zip

2.配置PHP
解压下载的PHP压缩包,找到php.ini-development文件,复制一份,重命名为php.ini。
修改该php.ini配置文件。
;放置PHP扩展的目录,去掉下面前面的注释,启用扩展功能 extension_dir = "ext" ;启用扩展。不需要一个一个的找,这一块的扩展全部启用都可以。 extension=bz2 extension=ldap extension=curl extension=ffi extension=ftp extension=fileinfo extension=gd extension=gettext extension=gmp extension=intl extension=imap extension=mbstring extension=exif ; Must be after mbstring as it depends on it extension=mysqli extension=odbc extension=openssl extension=pdo_firebird extension=pdo_mysql extension=pdo_oci extension=pdo_odbc extension=pdo_pgsql extension=pdo_sqlite extension=pgsql extension=shmop extension=soap extension=sockets extension=sqlite3 extension=tidy extension=xsl extension=zip ;启用并修改session文件的存储目录。 session.save_path = "C:\tmp" ;修改PHP上传最大限制 post_max_size = 200M upload_max_filesize = 200M
修改完保存一下。设置一下C:\tmp的文件夹权限。添加IIS_IUSRS用户,设置所有权限。

3.安装IIS
安装IIS
打开Windows 11 的应用界面->可选功能->更多Windows功能。进入启用或关闭Windows功能界面。
展开Internet Information Services,勾选Web管理工具中的IIS管理控制台和万维网服务中的CGI、ASP.NET,还有常见HTTP功能中的静态内容、默认文档、目录浏览,然后点击确定。
如果不勾选ASP.NET,IIS管理器里面没有默认文档设置。
如果不勾选静态内容,IIS管理器里面没有MIME类型设置。

稍等片刻,安装完后。打开IIS管理器。在Windows 11开始菜单上搜索IIS,打开即可。最好把IIS管理器固定在开始菜单,方便下次使用。

配置PHP
打开IIS管理器,找到处理程序映射。

打开处理程序映射界面,点击有右边的添加模块映射。添加PHP相关信息,然后点击确定。如下。

如果提示:要为此可执行文件创建FastCGI应用程序吗?点击“是”将此项添加到FastCGI集合中,以及允许此可执行文件作为FastCGI应用程序运行。
点击是即可。
添加默认文档
默认文档即index.html、index.htm、default.htm。这里我们要使用PHP,就要把idnex.php设置为默认文档。
找到默认文档设置。

添加index.php为默认文档。

添加MIME类型
这里的操作主要是一些文件如CSS、JS、ISO等在IIS中默认不下载。会提示错误。

添加文件扩展名为星号(*),MIME类型为application/octet-stream。表示所有文件皆可下载。

4.安装Wordpress
注:Wordpress需要数据库支持,默认链接数据库是MySQL或MariaDB。这里使用的是SQLite,具体使用SQLite操作方法请查阅上一篇。
将下载下来的Wordpress压缩包放在网站目录里。可以放在默认网站C:\inetpub\wwwroot,也可以新建的网站目录里面。
在浏览器中打开http://localhost/wordpress,可以即可安装Wordpress。
注意:
还需要给网站目录设置IIS_IUSRS权限,否则Wordpress无法安装插件。

5.Wordpress伪静态
到微软网站下载URL重写模块(URL Rewrite)。
https://www.iis.net/downloads/microsoft/url-rewrite

安装完成后。
将以下内容保存为web.config文件,放在wordpress跟目录中。
如果网站根目录就是Wordpress的根目录,那就放置再网站根目录。
一定要先安装然后再存放web.config文件。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="category">
<match url="category/?(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="/index.php?category_name={R:1}" appendQueryString="false" logRewrittenUrl="false" />
</rule>
<rule name="tags">
<match url="tag/?(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="index.php?tag={R:1}" />
</rule>
<rule name="Main Rule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:0}" />
</rule>
<rule name="wordpress" patternSyntax="Wildcard">
<match url="*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<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>
</system.webServer>
</configuration>
完成后,就可以设置Wordpress的伪静态链接了。

结束,愉快的玩耍吧。