web-dev-qa-db-fra.com

Implémentation des redirections de pays et de langue (US, CA, En et Fr) dans IIS

Nous avons un site Web qui a deux URL (une pour les États-Unis et une autre pour les Canadiens, divisée en anglais canadien et en français canadien). Pour les besoins de ma question, j'écrirai ainsi:

  • www.us_url.com (US)
  • www.canada_url.ca/ca_en/ (anglais canadien)
  • www.canada_url.ca/ca_fr/ (français canadien)

Pour que les utilisateurs se trouvent sur le bon site, que puis-je faire s'ils accèdent à l'URL américaine contenant du contenu en anglais canadien (par exemple, www.us_url.com/ca_fr/canada.asp) mais que je veux m'assurer que l'URL est celle du Canada un (par exemple, www.canada_url.ca/ca_fr/canada.asp) afin qu’il soit correctement affiché dans Google Analytics.

Nous utilisons IIS 7 et l’ASP classique.

1
stephmoreland

En utilisant le module de réécriture d'URL, vous devriez pouvoir faire quelque chose comme ceci:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Check US" patternSyntax="Wildcard" stopProcessing="true">
                    <match url="www.us_url.com" />
                    <conditions>
                        <add input="{HTTP_URL}" pattern="/ca_en*" />
                    </conditions>
                    <action type="Redirect" url="http://www.canada_url.ca/ca_en/" />
                </rule>
                <rule name="Check US 2" patternSyntax="Wildcard" stopProcessing="true">
                    <match url="www.us_url.com" />
                    <conditions>
                        <add input="{HTTP_URL}" pattern="/ca_fr*" />
                    </conditions>
                    <action type="Redirect" url="http://www.canada_url.ca/ca_fr/" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
1
Hoff