请将以下代码另存为web.config
文件,注意后缀是.config
,可以先保存在记事本中,重命名,然后上传到网站根目录中,即可生效。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="ThinkPHP" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
修改说明
为了确保伪静态规则能够正确配置在Windows IIS 7.5或以上版本中,我们需要创建一个web.config
文件,并将其放置在网站的根目录下。以下是详细的配置步骤和代码说明:
-
创建
web.config
文件:- 打开记事本或其他文本编辑器。
- 将上述XML代码复制并粘贴到编辑器中。
- 将文件保存为
web.config
,注意文件后缀必须是.config
。
-
上传
web.config
文件:- 使用FTP或其他文件传输工具将
web.config
文件上传到网站的根目录下。 - 确保文件上传后,IIS服务器能够读取并应用该配置。
- 使用FTP或其他文件传输工具将
详细说明
- XML结构:整个配置文件是一个XML格式的文档,包含一个
<configuration>
根节点。 <system.webServer>
节点:定义了与Web服务器相关的配置。<rewrite>
节点:启用URL重写模块。<rules>
节点:定义了一系列的URL重写规则。<rule>
节点:定义了一个名为“ThinkPHP”的重写规则。<match>
节点:匹配所有URL请求。<conditions>
节点:定义了两个条件,确保请求的URL既不是目录也不是文件。<action>
节点:将所有匹配的请求重写到index.php/{R:1}
,其中{R:1}
表示匹配的URL路径。
通过以上配置,ThinkPHP框架的URL路由功能将在Windows IIS 7.5或以上版本中正常工作,实现伪静态效果。
标签:web,IIS,文件,Windows,URL,7.5,config,节点 From: https://www.cnblogs.com/hwrex/p/18655047