Возможный дубликат:
Разрешить доступ без www. на Ubuntu
Я только что создал свой первый веб-сайт и купил собственное первое доменное имя, но возникла проблема.
Я заметил, что могу войти на свой сайт только с WWW в начале URL-адреса, например, это будет работать с WWW.DOMAIN.COM, но не с DOMAIN.COM
что мне нужно, чтобы это работало? заранее спасибо!!!
Здесь есть два основных момента: DNS и конфигурация виртуального хоста.
DNS это система, с помощью которой компьютеры преобразуют имена в IP-адреса, чтобы определить, к какому сетевому компьютеру относится имя. www.domain.com
является технически а субдомен domain.com
(хотя он редко рассматривается как таковой) и может преобразовываться в другой IP-адрес в корне домена. Обычный подход к этому - создать запись CNAME (псевдоним) для www.domain.com
это указывает на domain.com
. Это означает, что если IP-адрес вашего сервера изменится, вам нужно только обновить запись A для корня домена, и www.
последует их примеру. Ваш регистратор хоста / домена должен был предоставить вам панель управления, которая позволит вам изменять записи DNS для вашего домена - если они этого не сделали или вы не знаете, как это сделать, вам следует обратиться за помощью к своей хостинговой компании.
Виртуальный хостинг это система, которая позволяет одному серверу отвечать за услуги, предоставляемые более чем одним доменом. В средах виртуального хостинга используется такая система. Чтобы он работал, серверу нужно указать, за какие домены он отвечает. Подходов к этому много и они разнообразны, но ключевым моментом является то, что, поскольку корень домена и www.
технически различны, серверу нужно будет сообщить, что они фактически относятся к одному и тому же ресурсу. Скорее всего, ваша хостинговая компания будет нести ответственность за правильную конфигурацию, и если ваш DNS настроен должным образом, но у вас все еще есть проблема, вам следует связаться с ними, чтобы они проверили конфигурацию.
Здесь есть ряд потенциальных проблем, но две наиболее вероятные проблемы:
Конфигурация Apache: проверьте конфигурацию vhosts и убедитесь, что вы указали псевдоним для этого домена. Что-то вроде:
<VirtualHost *:80>
ServerName yoursite.com
ServerAlias www.yoursite.com
DocumentRoot /path/to/root
ErrorLog /path/to/logs/error.log
CustomLog /path/to/logs/access.log combined
</VirtualHost>
Конфигурация DNS: убедитесь, что при проверке связи yoursite.com и www.yoursite.com оба они указывают на один и тот же сервер. Возможно, ваша конфигурация DNS указывает субдомен www на другом сервере.
Если у вас есть доступ к файлу php.ini, его можно изменить там, но я предполагаю, что вы этого не сделаете. Альтернативой является создание файла с именем .htaccess и его размещение в корневом каталоге вашего веб-сайта. Добавьте это в файл:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursite.com [NC]
RewriteRule ^(.*)$ http://www.yoursite.com/$1 [L,R=301]
Конечно, замените yoursite.com на ваше настоящее доменное имя.
Вы должны посмотреть, является ли корневой каталог вашего кода www. В таком случае я предлагаю вам сделать следующее: 1. Переместите весь ваш код (с www) на один рычаг вверх (скажем, у вас есть / trunk / www, поэтому переместите свой код в trunk). 2. замените каталог www ярлыком www на каталог "trunk".
если это не сработает, вам следует посмотреть на htaccess, чтобы вы могли перенаправить вызов DOMAIN.COM на WWW.DOMAIN.COM.
Надеюсь, это поможет, С уважением, Алекс