簡體   English   中英

IIS重寫模塊具有兩個域的規范URL

[英]IIS rewrite module canonical URL with two domains

我有一個Web服務器,並且我有兩個域名分別為http://example.mxhttp://example.com.mx都指向同一個Web服務器和根文件夾,我可以將我的網站同時用於這兩個域當下我可以使用www. 同樣,但是這就是我要刪除的內容,我做到了,得到了這個web.config文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers>
            <remove name="CGI-exe" />
            <add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Script" allowPathInfo="true" />
        </handlers>
        <rewrite>
            <rules>
                <rule name="CanonicalHostNameRule2" enabled="false">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTP_HOST}" pattern="^example\.com\.mx$" negate="true" />
                    </conditions>
                    <action type="Redirect" url="http://example.com.mx/{R:1}" />
                </rule>
                <rule name="CanonicalHostNameRule1" enabled="false">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTP_HOST}" pattern="^example\.mx$" negate="true" />
                    </conditions>
                    <action type="Redirect" url="http://example.mx/{R:1}" />
                </rule>
                <rule name="http a https" enabled="false" patternSyntax="ECMAScript" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="^OFF$" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

但是問題是我轉到http://example.mx ,將其發送到http://example.com.mx並且它的工作方式如下:

如果我轉到http://www.example.mx重定向到http://example.mx

如果我轉到http://www.example.com.mx重定向到http://example.com.mx

但是現在,如果我轉到http://www.example.mx它將重定向到http://example.com.mx ,但我不希望這樣做,我需要更改模式嗎?

您應該使用以下規則:

<rule name="CanonicalHostNameRule2">
    <match url="(.*)" />
    <conditions>
         <add input="{HTTP_HOST}" pattern="^www\.example\.com\.mx$"/>
    </conditions>
    <action type="Redirect" url="http://example.com.mx/{R:1}" />
</rule>
<rule name="CanonicalHostNameRule1">
    <match url="(.*)" />
    <conditions>
         <add input="{HTTP_HOST}" pattern="^www\.example\.mx$" />
    </conditions>
    <action type="Redirect" url="http://example.mx/{R:1}" />
</rule>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM