301 перенаправить в web.config для старых страниц на новые, куда поместить код? - PullRequest
0 голосов
/ 19 марта 2019
У

уже есть файл web.config на настроенном сервере Windows, и он работает так, как будто он перенаправляет не www на www и http на https, но теперь мне нужно добавить 301 перенаправления старых страниц к их новым URL-эквивалентам. Это то, что я имею до сих пор.

<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" />
    <rewrite>
      <rules>
        <rule name="Redirect to WWW" stopProcessing="true">
          <match url=".*" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^website.co.uk$" />
          </conditions>
          <action type="Redirect" url="https://www.website.co.uk/{R:0}" redirectType="Permanent" />
        </rule>
      </rules>
    </rewrite>
        <directoryBrowse enabled="true" />
  </system.webServer> 
<system.web>
        <customErrors mode="Off" />
        <compilation debug="true" />
    </system.web>
</configuration>

так что я хочу, чтобы это оставалось как есть, но также добавляю что-то вроде

<configuration>
  <location path="https://www.website.co.uk/old-address/">
    <system.webServer>
      <httpRedirect enabled="true" destination="http://www.website.co.uk/new-address/" httpResponseStatus="Permanent" />
    </system.webServer>
  </location>
  <location path="https://www.website.co.uk/services/">
    <system.webServer>
      <httpRedirect enabled="true" destination="https://www.website.co.uk/new-services/" httpResponseStatus="Permanent" />
    </system.webServer>
  </location>
</configuration>

но когда я попытался добавить это в (игнорируя верхнюю и нижнюю конфигурацию) в разных местах, я просто получаю 500 ошибок на сайте, поэтому приходится возвращаться к рабочему файлу web.config, который находится вверху. Где я могу вставить его так, чтобы все работало нормально?

Любая помощь наиболее ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...