Перенаправление канонического имени в Godaddy?
-
18-09-2019 - |
Вопрос
У меня есть веб-сайт "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":
Другие советы
Если вы используете 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]