mydomain.com работает отлично.
www.mydomain.com дает 404 - File or directory not found.
Я не хочу, чтобы люди использовали www.mydomain.com вместо того mydomain.com, но я также не хочу, чтобы ошибка 404 отображалась в их глазах, если это произойдет.
Запись A в GoDaddy выглядит так:
Хост - Указывает на - TTL
@ - IP-адрес - 600 секунд
Как исправить проблему, чтобы при вводе пользователем www.mydomain.com они будут волшебным образом перенаправлены на mydomain.com?
Решение проблемы заключалось в том, чтобы оба доменных имени (mysite.com и www.mysite.com) явно были настроены в Azure как пользовательские домены.
Затем, чтобы использовать модуль перезаписи URL в IIS (уже установленный в Azure), добавив переписать раздел в файле Web.config:
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="WWW Rewrite" stopProcessing="true" enabled="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www[.](.+)" />
</conditions>
<action type="Redirect" url="http://{C:1}/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
Я считаю, что это НЕ задание DNS, вы можете сделать www как CNAME для mydomain.com но все же www будет отображаться в URL-адресе
Если вы используете Apache2 или любой веб-сервер, способный читать и выполнять файл .htaccess, вы можете использовать приведенный ниже код:
<IfModule mod_rewrite.c>
# Enable Rewrite Engine
# ------------------------------
RewriteEngine On
RewriteBase /
# Add or remove www. Whichever you prefer.
# This one removes which seems to be the favourable choice these days.
# ------------------------------
RewriteCond %{HTTP_HOST} ^www.mydomain.com
RewriteRule (.*) http://mydomain.com/$1 [R=301,L]
</IfModule>