在IIS服务器中配置虚拟目录时,如何设置处理程序映射?
美国、香港服务器
在IIS服务器中配置虚拟目录时,如何设置处理程序映射?
08-03 来源:
一、图形界面操作方式(inetmgr)
打开 IIS 管理器
plaintext
inetmgr
展开网站 → 选中你创建好的虚拟目录(关键!不要选中主站点)
在右侧功能视图找到 处理程序映射,双击打开
场景 1:给虚拟目录增加 PHP 解析(FastCGI)
前提:服务器已经部署好 PHP,拥有php-cgi.exe
右侧【添加模块映射】
请求路径:*.php
模块:FastCgiModule
可执行文件:选择你的php-cgi.exe完整路径
名称:PHP-FastCGI(自定义)
点击【请求限制】
【谓词】:GET,HEAD,POST
勾选【仅当请求映射至以下内容时调用处理程序】→ 文件
确定保存,弹出是否添加允许模块执行,选择【是】
场景 2:禁用虚拟目录执行脚本(附件 / 静态目录必备,安全加固)
适合存放图片、压缩包、文件下载的虚拟目录,防止上传木马运行:
选中虚拟目录 → 处理程序映射
右侧【编辑功能权限】
勾选:读取
取消勾选:脚本
确定之后,该目录下所有 php/asp 脚本无法执行。
补充:也可以手动删除全部脚本映射,仅保留静态文件处理。
场景 3:移除不需要的映射
选中对应映射条目 → 右侧【删除】
二、PowerShell 命令管理虚拟目录处理程序映射
1. 添加 PHP 模块映射(示例)
powershell
Add-WebConfigurationProperty -pspath "MACHINE/WEBROOT/APPHOST/你的网站名称/虚拟目录别名" `
-filter "system.webServer/handlers" `
-name "." `
-value @{
name="PHP-FastCGI"
path="*.php"
verb="GET,HEAD,POST"
modules="FastCgiModule"
scriptProcessor="D:\php\php-cgi.exe"
resourceType="File"
}
修改路径:网站名称、虚拟目录别名、php-cgi 路径
2. 查询当前虚拟目录所有处理映射
powershell
Get-WebConfiguration -pspath "MACHINE/WEBROOT/APPHOST/网站名/虚拟目录别名" -filter "system.webServer/handlers"
三、web.config 配置方式(推荐,可随目录迁移)
在虚拟目录物理文件夹内新建web.config
示例 1:仅开启 PHP 解析
xml
示例 2:禁止所有脚本执行(静态附件目录安全配置)
xml
该配置会覆盖父站点所有映射,只能访问图片、文档,无法运行任何脚本。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快