Привет. Имею сайт развернутый на IIS 8.5 с модулем REWRITE 2.0. Написал правило редиректа с http на www https с статусом 301. С одной стороны все работает. Но если в адрессную строку написать http://www.example.com то произойдёт редирект
сначала на https://example.com - c статус кодом 302 , а затем редирект на https://www.example.com с статусом 301. Также проблема если мы указываем в дрессной строке такой адресс например http://www.example.com/blog/article
, то происходит редирект на https://example.com - с кодом 302 , и потом на https://www.example.com с кодом 301. При этом праметры стираются из адрессной стоки, и переходим на главную страницу. Как я знаю все это плохо сказывается
на продвижение сайта для поисковых систем (SEO). Является это ошибкой, или это особенность движка. Если да то как мне её решить, ведь нужно что бы редирект был http://www.example.com на https://www.example.com - только с статусом 301
без повторного редиректа, а также с http://www.example.com/blog/article на https://www.example.com/blog/article без перехода на главную страницу с тем же статусом. Можно ли решить данную проблему?. Заранее спасибо за помощь) Правила
REWRITE
<rewrite>
<rules>
<clear />
<rule name="Redirects to www.domain.com" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAny" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^example.com$" />
</conditions>
<action type="Redirect" url="https://www.example.com/{R:0}" appendQueryString="true" redirectType="Permanent" />
</rule>
<rule name="Force WWW and SSL" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny" trackAllCaptures="false">
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://www.example.com/" appendQueryString="true" redirectType="Permanent" />
</rule>
<rule name="Remove trailing slash" enabled="true" stopProcessing="true">
<match url="(.*)/$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Redirect" url="{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>