Назад | Перейти на главную страницу

не может получить доступ к сайту без WWW в URL

Возможный дубликат:
Разрешить доступ без 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 настроен должным образом, но у вас все еще есть проблема, вам следует связаться с ними, чтобы они проверили конфигурацию.

Здесь есть ряд потенциальных проблем, но две наиболее вероятные проблемы:

  1. Конфигурация 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>
    
  2. Конфигурация 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.

Надеюсь, это поможет, С уважением, Алекс