Постоянный редирект 301 для ASP.NET IIS7 - PullRequest
1 голос
/ 01 февраля 2012

Я пытаюсь выяснить, как настроить перенаправление 301 для веб-сайта, размещенного на сервере типа Microsoft-IIS / 7.0.Допустим, у меня есть домен www.A.com, и я хочу перенаправить его на www.B.com. Я мог бы использовать что-то вроде следующего в моем файле web.config:

<configuration>
<system.webServer>
<rewrite>
   <rules>
      <rule name="Redirect to WWW" stopProcessing="true">
        <match url="A.com" />
        <conditions>
            <add input="{HTTP_HOST}" pattern="^www.B.com$" />
   </conditions>
   <action type="Redirect" url="http://www.B.com/{R:0}"
        redirectType="Permanent" />
   </rule>
 </rules>
</rewrite>
</system.webServer>
</configuration>

При размещении сети.config в корневом каталоге, сервер отвечает:

403 - Запрещено: доступ запрещен.У вас нет разрешения на просмотр этого каталога или страницы с использованием предоставленных вами учетных данных.

Есть какие-либо предположения, почему возникает эта ошибка 403?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

Если вы получаете ошибку 403 с простым (по умолчанию) web.config и полностью ванильным Default.aspx, значит, есть проблема конфигурации с IIS.Скорее всего, пул приложений не имеет прав на базовую папку для сайта.Звучит так, как будто вы находитесь в хостинговой ситуации, поэтому обратитесь к системному администратору.

0 голосов
/ 01 февраля 2012

Это должно работать, а также быть намного проще.Вам не нужно перезаписывать URL-адрес, только перенаправление HTTP.

Что касается 403, имеет ли пул приложений IIS доступ на чтение к папке в корне вашего сайта?

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpRedirect enabled="true" destination="www.B.com" httpResponseStatus="Permanent" />
    </system.webServer>
</configuration>
...