gpt4 book ai didi

asp.net - IIS URL 重写和 Web.config

转载 作者:行者123 更新时间:2023-12-05 00:58:10 27 4
gpt4 key购买 nike

我对 IIS 一无所知,但我正在尝试解决将所有访问者重定向到 domain.com/page 到 domain.com/page.html 的问题

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.webServer>
<rewrite>
<rewriteMaps>
<rewriteMap name="StaticRedirects">
<add key="/page" value="/page.html" />
</rewriteMap>
</rewriteMaps>
</rewrite>
</system.webServer>
</configuration>

出现了几个问题:
  • 我什至不知道把文件放在哪里。有一个 User 根目录,一个 htdocs 目录,我都试过了,不高兴。
  • 我什至不知道该帐户是否可以重写,我正在努力找出答案。
  • 最佳答案

    1) 您现有的 web.config:您已声明重写映射 .. 但尚未创建任何将使用它的规则。 RewriteMap 本身完全没有任何作用。

    2)下面是你可以怎么做(它不使用重写映射——仅规则,这适用于少量的重写/重定向):

    此规则将执行 SINGLE EXACT 重写(内部重定向)/page/page.html .浏览器中的 URL 将保持不变。

    <system.webServer>
    <rewrite>
    <rules>
    <rule name="SpecificRewrite" stopProcessing="true">
    <match url="^page$" />
    <action type="Rewrite" url="/page.html" />
    </rule>
    </rules>
    </rewrite>
    </system.webServer>

    此规则 #2 将执行与上述相同的操作,但会执行 301 重定向(永久重定向),其中 URL 将在浏览器中更改。
    <system.webServer>
    <rewrite>
    <rules>
    <rule name="SpecificRedirect" stopProcessing="true">
    <match url="^page$" />
    <action type="Redirect" url="/page.html" />
    </rule>
    </rules>
    </rewrite>
    </system.webServer>

    如果存在带有 .html 扩展名的文件,规则 #3 将尝试为任何 URL 执行此类重写(即对于 /page,它将检查 /page.html 是否存在,如果存在则重写发生):
    <system.webServer>
    <rewrite>
    <rules>
    <rule name="DynamicRewrite" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
    <add input="{REQUEST_FILENAME}\.html" matchType="IsFile" />
    </conditions>
    <action type="Rewrite" url="/{R:1}.html" />
    </rule>
    </rules>
    </rewrite>
    </system.webServer>

    关于asp.net - IIS URL 重写和 Web.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4410067/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com