Редирект через 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>

 

 
301 редирект с домена с www на домен без www
<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>

 

 
301 редирект на другой сайт

Вместо example.com укажите URL сайта, на которой необходим редирект:

<?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://example.com" redirectType="Permanent" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

 

 
Редирект с одной страницы на другую

Редирект с example.com/test1.html на example.com/test2.html:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
   <location path="test1.html">
      <system.webServer>
        <httpRedirect enabled="true" destination="http://example.com/test2.html" httpResponseStatus="Permanent" />
      </system.webServer>
    </location>
</configuration>

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

Редирект с example.com/?p=1520 на example.com/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://example.com/test.html" redirectType="Permanent" appendQueryString="false"  />
        </rule>
      </rules>
    </rewrite>
    </system.webServer>
</configuration>

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

Редирект с example.com/test.aspx?id=1051 на example.com/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>

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

 
Как заставить 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>

 


 

Если вы не нашли ответ, спросите у нас!
Написать в поддержку