首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WebAssembly -如何在自动生成的web.config中添加"http到https“URL重写规则

WebAssembly -如何在自动生成的web.config中添加"http到https“URL重写规则
EN

Stack Overflow用户
提问于 2021-03-10 22:21:33
回答 2查看 1.6K关注 0票数 1

我有一个WebAssembly应用程序,如果用户试图通过http访问网页,它将自动重定向到https。

对于其他非WASM站点,我将在IIS配置中这样做,使用"URL重写“将任何此类调用重定向到https等效。这些规则直接存储在web文件夹中的web.config文件中。

但是,当向IIS发布WebAssembly应用程序时,Visual会创建自己的web.config文件,其中包含正确运行/路由所需的其他url重写规则:

在发布到IIS之后,我可以进入并创建我的"http -> https“规则,然后将其添加到先前生成的web.config文件中。

然后,将http重定向到https,这是一个不错的选择。

但是,每次我向IIS发布应用程序时,这个web.config文件都会被覆盖,而我的https规则也会丢失。

是否有一种方法可以在Visual项目中定义此重定向规则,以便自动将其包含在自动生成的web.config中?

如有任何指导,将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-10 22:24:03

代码语言:javascript
复制
<Target Name="CopyWebConfigOnPublish" AfterTargets="Publish">
  <Copy SourceFiles="web.config" DestinationFolder="$(PublishDir)" />
</Target>

应该能起作用。原始源这里.

票数 1
EN

Stack Overflow用户

发布于 2021-10-28 09:08:37

在项目目录的根目录中创建一个新的web.config:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <system.webServer>
            <staticContent>
                <remove fileExtension=".blat" />
                <remove fileExtension=".dat" />
                <remove fileExtension=".dll" />
                <remove fileExtension=".json" />
                <remove fileExtension=".wasm" />
                <remove fileExtension=".woff" />
                <remove fileExtension=".woff2" />
                <mimeMap fileExtension=".blat" mimeType="application/octet-stream" />
                <mimeMap fileExtension=".dll" mimeType="application/octet-stream" />
                <mimeMap fileExtension=".dat" mimeType="application/octet-stream" />
                <mimeMap fileExtension=".json" mimeType="application/json" />
                <mimeMap fileExtension=".wasm" mimeType="application/wasm" />
                <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
                <mimeMap fileExtension=".woff2" mimeType="application/font-woff" />
            </staticContent>
            <httpCompression>
                <dynamicTypes>
                    <add mimeType="application/octet-stream" enabled="true" />
                    <add mimeType="application/wasm" enabled="true" />
                </dynamicTypes>
            </httpCompression>
            <rewrite>
                <rules>
                    <clear />
                    <rule name="Redirect to https" stopProcessing="true">
                        <match url=".*" />
                        <conditions>
                            <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                        </conditions>
                        <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
                    </rule>
                    <rule name="Serve subdir">
                        <match url=".*" />
                        <action type="Rewrite" url="wwwroot\{R:0}" />
                    </rule>
                    <rule name="SPA fallback routing" stopProcessing="true">
                        <match url=".*" />
                        <conditions logicalGrouping="MatchAll">
                            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        </conditions>
                    <action type="Rewrite" url="wwwroot\" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

并将下列行添加到项目文件中:

代码语言:javascript
复制
    <PropertyGroup>
        <PublishIISAssets>true</PublishIISAssets>
    </PropertyGroup>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66573753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档