PowerShell URL 从根目录重定向到子目录

Posted

技术标签:

【中文标题】PowerShell URL 从根目录重定向到子目录【英文标题】:PowerShell URL redirect from root to subdirectory 【发布时间】:2021-11-26 03:02:41 【问题描述】:

我正在尝试在 PowerShell 中构建一个部署脚本,以替代使用 IIS 用户界面的手动工作(这是针对 Docker 容器的)。我找不到的一个步骤是如何将用户从根 url 导航到应用程序文件夹。因此,如果用户导航到 www.site.com,他们会转到 www.site.com\WebSampleTest。

这是我目前所拥有的:

Set-WebConfiguration system.webServer/httpRedirect "IIS:\sites\Default Web Site" -Value @enabled="true";destination="WebSampleTest";exactDestination="true";httpResponseStatus="Permanent"

【问题讨论】:

【参考方案1】:

尝试使用这个:

Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site'  -filter "system.webServer/httpRedirect" -name "enabled" -value "True"
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site'  -filter "system.webServer/httpRedirect" -name "destination" -value "websampletest"
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site'  -filter "system.webServer/httpRedirect" -name "httpResponseStatus" -value "Permanent"

【讨论】:

Bruce Zhang,这有没有可能在 localhost:port 上不起作用?在运行 New-WebApplication 命令后,我正在运行 Set-WebConfigurationProperty 行。还是没有运气。 运行set-webconfigurationProperty时,有没有报错信息?你运行了什么 new-webApplication 命令? 看来我的 PowerShell 脚本中缺少以下内容:Add-WindowsFeature Web-Http-Redirect(请参阅下面的帖子)【参考方案2】:

忘记在下面添加 WindowsFeature:

Add-WindowsFeature Web-Http-Redirect

然后为实际重定向添加以下代码:

Set-WebConfigurationProperty -pspath 'IIS:\sites\Default Web Site'  -filter "system.webServer/httpRedirect" -name "enabled" -value "True"
Set-WebConfigurationProperty -pspath 'IIS:\sites\Default Web Site'  -filter "system.webServer/httpRedirect" -name "destination" -value "WebSampleTest"
Set-WebConfigurationProperty -pspath 'IIS:\sites\Default Web Site'  -filter "system.webServer/httpRedirect" -name "childOnly" -value "true"

【讨论】:

以上是关于PowerShell URL 从根目录重定向到子目录的主要内容,如果未能解决你的问题,请参考以下文章

重定向到备用域但保留子目录

htaccess如何将子目录重定向到外部URL

如何从存储桶根重定向到 AWS S3 中的子目录?

.htaccess:将根URL重定向到子目录,但保留根URL

.htaccess 将域重定向到子目录而不更改 URL

将通配符子域重定向到子目录,而不更改地址栏中的 URL