Вопрос

У меня есть веб-сайт "mywebsite.com " и я хотел бы сделать 301 перенаправление на "http://mywebsite.com" чтобы "http://www.mywebsite.com" (для обычных целей SEO).

Я использую IIS7, однако перед сайтом установлен брандмауэр ISA server, который, похоже (согласно этой статье, хотя его решение у меня не сработало -- http://mrvirtual.de/2009/07/04/url-rewrite-through-isa-server-ends-in-a-loop/), чтобы заставить правило перезаписи перейти в бесконечный цикл перенаправления.

DNS управляется Godaddy (TotalDNS).Есть ли способ настроить DNS или перенаправление домена, чтобы я мог выполнить перенаправление до доступа к брандмауэру ISA / IIS?Это кажется проще (если возможно), чем пытаться отследить и устранить проблему ISA, IIS (хотя, если у кого-то есть решение для этого, я им воспользуюсь).

Это было полезно?

Решение

Первый результат для "Перенаправление IIS на www":

http://www.xoc.net/works/tips/domain.asp

Другие советы

Если вы используете IIS7 и используете .Net 3.5 (как минимум), ИМХО, самый быстрый способ - просто быстро добавить это в свой файл web.config.

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

Примечание:в этом примере это из URL-адреса, отличного от www, в URL-адрес www

Надеюсь, это поможет бадди.

Я отказываюсь от своего заявления о том, что вышеприведенная статья не решила проблему.Я просто не перепробовал достаточно вариаций.На вкладке "Политики ISA server" на вкладке "текстовое поле "Это правило применяется к этому опубликованному веб-сайту" я изменил поле с www.mywebsite.com - именно так оно указано в IIS) на просто MyWebsite...похоже, что я мог бы сделать это любой текстовой строкой, при условии, что это не название фактического сайта, используемого в перенаправлении (оба mysite.com & www.mysite.com вызвали бесконечный цикл).Изменил его, как описано выше, и проблема решена.Спасибо за подсказку, Макэндри.– Джин 0 секунд назад

Если вы разрабатываете в ASP NET, то существует простое исправление, которое вы можете применить, используя событие application_beginrequest глобального asax

Вот подробное объяснение http://www.xaviermorera.com/2010/01/fix-canonical-redirect-issue-on-asp-net-in-a-shared-host-rackspacecloud/

Зачем пробовать сложные вещи?Просто попробуйте приведенный ниже код с именем файла .htacces и загрузите в корневую папку сервера вашего веб-сайта (public_html).

Перезаписать во вторую очередь %{HTTP_HOST} ^www.example.com $ RewriteRule ^/?$ "http://example.com /" [R=301,L]

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top