Перейти к основному контенту

Редирект через web.config

Файл web.config доступен только для Windows хостинга. Для хостинга на Linux редирект настраивается через файл .htaccess.

Выберите необходимый тип редиректа и добавьте соответствующие строки кода в файл web.config.

Файл web.config расположен в директории вашего сайта. Если файла не существует, создайте его.

301 редирект с http:// на https://

Редирект для основного домена и всех поддоменов:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

    <system.webServer>

        <rewrite>
            <rules>
                <rule name="Redirect to https" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

Редирект для основного домена без поддоменов:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Redirect to https" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                        <add input="{HTTP_HOST}" pattern="^domain\.ru" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
<configuration>
<system.webServer>
<rewrite>
      <rules>
        <rule name="Imported Rule 1" stopProcessing="true">
          <match url="^(.*)$" ignoreCase="false" />
          <conditions logicalGrouping="MatchAll">
            <add input="{HTTP_HOST}" pattern="^www\.(.+)$" />
          </conditions>
          <action type="Redirect" url="http://{C:1}/{R:1}" redirectType="Permanent" />
        </rule>
      </rules>
</rewrite>
</system.webServer>
</configuration>

Вместо domain.ltd укажите название сайта, на которой необходим редирект:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="301 Redirect 1" stopProcessing="true">
          <match url=".*" />
          <action type="Redirect" url="http://domain.ltd" redirectType="Permanent" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>
Редирект с одной страницы на другую
  • редирект с domain.ltd/test.html на domain.ltd/test2.html:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
   <location path="test.html">
      <system.webServer>
        <httpRedirect enabled="true" destination="http://domain.ltd/test2.html" httpResponseStatus="Permanent" />
      </system.webServer>
    </location>
</configuration>

Вместо domain.ltd укажите название вашего сайта;

  • редирект с domain.ltd/?p=1520 на domain.ltd/test.html:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
    <rewrite>
      <rules>
        <rule name="301 Redirect 1" stopProcessing="true">
          <match url=".*" />
             <conditions>
                      <add input="{QUERY_STRING}" pattern="^p=1520" />
             </conditions>
          <action type="Redirect" url="http://domain.ltd/test.html" redirectType="Permanent" appendQueryString="false"  />
        </rule>
      </rules>
    </rewrite>
    </system.webServer>
</configuration>

Вместо domain.ltd укажите название вашего сайта. Если не требуется передавать значение «p=1520», указывается значение параметра «appendQueryString=„false“»;

  • редирект domain.ltd/test.aspx?id=1051 на domain.ltd/test/1051:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
    <rewrite>
      <rules>
         <rule name="301 Redirect 2" stopProcessing="true">
               <match url="(.+)\.aspx$" />
                   <conditions>
                        <add input="{QUERY_STRING}" pattern="^id=([0-9]+)" />
                   </conditions>
             <action type="Redirect" url="{R:1}/{C:1}" appendQueryString="false" />
          </rule>
      </rules>
    </rewrite>
    </system.webServer>
</configuration>

Вместо domain.ltd укажите название вашего сайта.

Как заставить html-страницы обрабатывать PHP код?
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.web>
        <identity impersonate="false" />
    </system.web>
    <system.webServer>
        <handlers>
            <add name="PHP_via_FastCG1" path="*.htm" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP53\php-cgi.exe" resourceType="Either" />
            <add name="PHP_via_FastCG2" path="*.html" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP53\php-cgi.exe" resourceType="Either" />
        </handlers>
    </system.webServer>
</configuration>
Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0