欢迎光临 Rick 's BLOG
日志首页  | C# .Net编程  | 原创作品  | 生活点滴  | C\C++相关  | 多媒体相关※ERMP  | VB相关  | 其它运维与编程  |  留言簿
windows IIS中CGI-php缺失REQUEST_URI导致路由无效 给 CodeIgniter 4 增加SQL执行数量的统计功能
未知  Windows IIS环境配置CodeIgniter 4 的网站环境
[ 发布日期:1年前 (2023-11-13) ]   [ 来自:本站原创 ] [分类:其它运维与编程]

首先是要配置让iis可以执行,php。
然后是要配置Url重写参数,实现对搜索引擎和人类友好的URL。

在 CodeIgniter 的官方手册中只有对 Apache 、Nginx 的配置介绍。
这里参照进行IIS环境的Url重写配置。


首先上php官网下载 Windows 系统的  php-8.2.12-nts-x64 。
解压缩放置到 C:\php\目录中。
然后打开 IIS 管理器 将 php-cgi.exe 添加到 “iSAPI和CGI限制” 模块功能的允许列表中。如下图:
按此在新窗口打开图片


 然后安装 IIS Url重写组件 
如上图,安装好后可以看到  “URL 重写”模块。
IIS 重写组件下载


最后进行配置
打开网站根目录中的 web.config 文件(如果不存在就新建一个),在文件中按如下配置即可
[复制到剪贴板]

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <
system.webServer>
        <
handlers>
            <
add name="php8.2nts" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="D:\php\php-8.2.12-nts-x64\php-cgi.exe" resourceType="File" />
        </
handlers>
        <
rewrite>
            <
rules>
                <
rule name="php路径重写" patternSyntax="Wildcard" stopProcessing="true">
                    <
match url="*" negate="false" />
                    <
conditions>
                        <
add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    </
conditions>                   
                    <
action type="Rewrite" url="/index.php" logRewrittenUrl="true" />
                </
rule>
            </
rules>
        </
rewrite>
    </
system.webServer>
</
configuration>
 





这里使用了 FastCgiModule 模块,没有使用 CgiModule 模块


因为CGIModule有个bug,缺少 REQUEST_URI 服务器变量。参考之前的贴子  
windows IIS中CGI-php缺失REQUEST_URI导致路由无效
引用通告地址 (0):
复制引用地址https://www.rickw.cn/trackback/259
复制引用地址https://www.rickw.cn/trackback/259/GBK
[ 分类:其它运维与编程  | 查看:259 ]

暂时没有评论,快来发表一个评论吧。
发表评论
作者:   用户:[访客] 
评论:

表  情
禁止表情 | 禁止UBB | 禁止图片 | 识别链接
对不起,你没有权限上传附件!
验证:
 
PoweredBy R-Blog V1.00 © 2004-2024 WWW.RICKW.CN, Processed in second(s) , 7 queries    京ICP备17058477号-5