2015-04-29 2 views
4

У меня есть этот файл web.config на моем сервере.Windows Azure: перенаправить сайт с www на не-www

<rewrite> 
    <rules> 

     <rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
     <match url="(.*)" /> 
     <conditions> 
      <add input="{HTTPS}" pattern="off" ignoreCase="true" /> 
     </conditions> 
     <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" /> 
     </rule> 

     <rule name="Rule" stopProcessing="true"> 
     <match url="^(.*)$" ignoreCase="false" /> 
     <conditions> 
      <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /> 
      <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /> 
      <add input="{URL}" pattern="^/favicon.ico$" ignoreCase="false" negate="true" /> 
     </conditions> 
     <action type="Rewrite" url="index.php/{R:1}" appendQueryString="true" /> 
     </rule> 

    </rules> 
</rewrite> 

Я хочу перенаправить URL-адрес с www на не-www. Например, если пользовательские типы www.exmaple.com, он должен перейти в https://example.com

Как я могу редактировать такую ​​вещь в приведенном выше коде. Благодарю.

+0

Почему вы включили '' php' и .htaccess' теги? Вам нужен htaccess перевод ваших правил или только правило для IIS? –

+0

нет .. только IIs .. позвольте мне удалить те –

ответ

8

Вы можете иметь это так (я имею объединить HTTPS/правила не-WWW в одном правиле)

<rule name="HTTPS and non-WWW only" stopProcessing="true"> 
    <match url="^(.*)$" /> 
    <conditions logicalGrouping="MatchAny"> 
     <add input="{HTTPS}" pattern="off" ignoreCase="true" /> 
     <add input="{HTTP_HOST}" pattern="^www\." ignoreCase="true" /> 
    </conditions> 
    <action type="Redirect" redirectType="Found" url="https://example.com/{R:1}" /> 
</rule> 

<rule name="Generic default rule" stopProcessing="true"> 
    <match url="^(.*)$" /> 
    <conditions> 
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
     <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
     <add input="{REQUEST_URI}" pattern="^/favicon\.ico$" ignoreCase="true" negate="true" /> 
    </conditions> 
    <action type="Rewrite" url="/index.php/{R:1}" appendQueryString="true" /> 
</rule> 
+0

Это не перенаправление с www на не-www. –

+0

Извините, что я использовал условие 'AND' вместо' OR'. Вы можете попробовать еще раз с моим отредактированным кодом –

+1

Wow. Отлично. Огромное спасибо. Вы решили мою самую большую проблему. –