自动将 http 重定向到 https - web.config - Plesk 12.0.18 for Windows
Redirect http to https automatically - web.config - Plesk 12.0.18 for Windows
我需要将用户自动重定向到安全的 https 连接。正如我在 Windows 服务器上大量阅读后发现的那样,这是通过 web.config 文件发生的。我尝试了很多选项,但没有任何效果,我什至不确定文件夹 httpdocs 中是否有 web.config 文件或我创建它。话虽这么说,有没有一种方法可以找出正在使用的 web.config 文件,因为我在不同的目录中创建了十亿个文件(好吧,只有 2 个),我需要在其中做什么才能自动重定向访问者?
Oleg 要求更新:
在 goliax.com
的域上启用了 SSL
在浏览器中请求 URL 是 goliax.com and if the redirection was working it would have opened secured connection goliax.com 而不是
我在根目录中所做的一切都可以在应用更改后立即在浏览器中看到
2012 年 Windows 以下 httpdocs/web.config
对我有用:
<configuration>
<system.webServer>
<httpErrors>
<error statusCode="400" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\bad_request.html"/>
<remove statusCode="401" subStatusCode="-1"/>
<error statusCode="401" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\unauthorized.html"/>
<remove statusCode="403" subStatusCode="-1"/>
<error statusCode="403" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\forbidden.html"/>
<remove statusCode="404" subStatusCode="-1"/>
<error statusCode="404" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\not_found.html"/><remove statusCode="405" subStatusCode="-1"/>
<error statusCode="405" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\method_not_allowed.html"/><remove statusCode="406" subStatusCode="-1"/>
<error statusCode="406" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\not_acceptable.html"/>
<error statusCode="407" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\proxy_authentication_required.html"/><remove statusCode="412" subStatusCode="-1"/>
<error statusCode="412" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\precondition_failed.html"/>
<error statusCode="414" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\request-uri_too_long.html"/><error statusCode="415" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\unsupported_media_type.html"/>
<remove statusCode="500" subStatusCode="-1"/><error statusCode="500" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\internal_server_error.html"/>
<remove statusCode="501" subStatusCode="-1"/><error statusCode="501" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\not_implemented.html"/>
<remove statusCode="502" subStatusCode="-1"/><error statusCode="502" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\bad_gateway.html"/>
<error statusCode="503" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\maintenance.html"/>
</httpErrors>
<rewrite>
<rules>
<rule name="httpsredirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
如果在 IIS 中安装了 URL Rewrite
模块,这个 web.config 应该可以工作。
您可以在 Plesk UI 中找到 Tools&Settings
> Server Components
:
我需要将用户自动重定向到安全的 https 连接。正如我在 Windows 服务器上大量阅读后发现的那样,这是通过 web.config 文件发生的。我尝试了很多选项,但没有任何效果,我什至不确定文件夹 httpdocs 中是否有 web.config 文件或我创建它。话虽这么说,有没有一种方法可以找出正在使用的 web.config 文件,因为我在不同的目录中创建了十亿个文件(好吧,只有 2 个),我需要在其中做什么才能自动重定向访问者?
Oleg 要求更新:
在 goliax.com
的域上启用了 SSL
在浏览器中请求 URL 是 goliax.com and if the redirection was working it would have opened secured connection goliax.com 而不是
我在根目录中所做的一切都可以在应用更改后立即在浏览器中看到
2012 年 Windows 以下 httpdocs/web.config
对我有用:
<configuration>
<system.webServer>
<httpErrors>
<error statusCode="400" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\bad_request.html"/>
<remove statusCode="401" subStatusCode="-1"/>
<error statusCode="401" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\unauthorized.html"/>
<remove statusCode="403" subStatusCode="-1"/>
<error statusCode="403" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\forbidden.html"/>
<remove statusCode="404" subStatusCode="-1"/>
<error statusCode="404" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\not_found.html"/><remove statusCode="405" subStatusCode="-1"/>
<error statusCode="405" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\method_not_allowed.html"/><remove statusCode="406" subStatusCode="-1"/>
<error statusCode="406" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\not_acceptable.html"/>
<error statusCode="407" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\proxy_authentication_required.html"/><remove statusCode="412" subStatusCode="-1"/>
<error statusCode="412" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\precondition_failed.html"/>
<error statusCode="414" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\request-uri_too_long.html"/><error statusCode="415" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\unsupported_media_type.html"/>
<remove statusCode="500" subStatusCode="-1"/><error statusCode="500" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\internal_server_error.html"/>
<remove statusCode="501" subStatusCode="-1"/><error statusCode="501" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\not_implemented.html"/>
<remove statusCode="502" subStatusCode="-1"/><error statusCode="502" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\bad_gateway.html"/>
<error statusCode="503" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\maintenance.html"/>
</httpErrors>
<rewrite>
<rules>
<rule name="httpsredirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
如果在 IIS 中安装了 URL Rewrite
模块,这个 web.config 应该可以工作。
您可以在 Plesk UI 中找到 Tools&Settings
> Server Components
: