虚拟目录与应用程序

IIS · 第 5 篇 · 适用于 Windows Server 2019 / 2022 / 2025

📑 目录

  1. 理解虚拟目录
  2. 创建虚拟目录
  3. 创建应用程序
  4. 常见问题

1. 理解虚拟目录

虚拟目录(Virtual Directory)允许将物理路径映射到网站 URL 路径下,使内容可以存储在网站根目录以外的位置。

虚拟目录 vs 物理目录

类型URL路径物理位置
网站根目录http://www.iehang.cn/D:\Websites\MyWebSite
虚拟目录http://www.iehang.cn/imagesE:\Media\Images
虚拟目录http://www.iehang.cn/docs\\FileServer\Share\Docs
💡 虚拟目录的常见用途
  • 将静态资源(图片、CSS、JS)放在独立磁盘或存储
  • 引用网络共享上的文档库
  • 将不同部门的资料挂载到统一网站下

2. 创建虚拟目录

1

打开IIS 管理器 → 选择网站"MyWebSite"

2

右侧操作面板 → 点击"添加虚拟目录"

3

填写配置:

  • 别名:images
  • 物理路径:E:\Media\Images
  • 连接为:特定用户(如需访问网络共享)
4

点击"确定"完成创建

PowerShell - 虚拟目录管理
# 创建虚拟目录
New-WebVirtualDirectory -Site "MyWebSite" `
    -Name "images" `
    -PhysicalPath "E:\Media\Images"

# 创建网络共享虚拟目录
New-WebVirtualDirectory -Site "MyWebSite" `
    -Name "docs" `
    -PhysicalPath "\\FileServer\Share\Docs" `
    -UserName "IEHANG\IIS_User" `
    -Password "P@ssw0rd!"

# 查看所有虚拟目录
Get-WebVirtualDirectory -Site "MyWebSite"

3. 创建应用程序

应用程序(Application)是网站内的独立执行单元,可以使用独立的应用程序池,实现更高的隔离级别。

1

选择网站"MyWebSite" → 右侧"添加应用程序"

2

填写配置:

  • 别名:api
  • 应用程序池:选择或新建"MyAPIAppPool"
  • 物理路径:D:\Apps\MyAPI
3

点击"确定"完成创建,访问路径:http://www.iehang.cn/api/

PowerShell - 应用程序管理
# 先创建专用应用程序池
New-WebAppPool -Name "MyAPIAppPool"

# 创建应用程序
New-WebApplication -Site "MyWebSite" `
    -Name "api" `
    -PhysicalPath "D:\Apps\MyAPI" `
    -ApplicationPool "MyAPIAppPool"

# 查看所有应用程序
Get-WebApplication -Site "MyWebSite"

4. 常见问题

Q1:虚拟目录和应用程序有什么区别

虚拟目录只是路径映射,不能指定独立的应用程序池。应用程序可以拥有独立的应用程序池,实现进程级隔离,适合不同安全级别或配置的应用。

Q2:虚拟目录无法访问网络共享

配置"连接为"凭据时,使用域账户(如 IEHANG\IIS_User)而非本地账户。同时确保该账户对共享文件夹有读取权限。

Q3:如何修改应用程序的应用程序池

选择应用程序 → 右侧"基本设置" → 应用程序池 → 选择目标池。或使用 PowerShell:Set-ItemProperty -Path "IIS:\Sites\MyWebSite\api" -Name applicationPool -Value "NewAppPool"