2014-09-06 3 views
1

Я немного новичка, когда дело доходит до питания, связанных с сервером, но в основном я имею наиболее расстраивает проблему прямо сейчас ...Изменение ServerAlias ​​дает мне индекс Page

Моего конфигурационного файла до изменения:

<VirtualHost *:80> 
     ServerAdmin [email protected] 
     DocumentRoot /var/www/xyz.net/public_html 
     ServerName www.xyz.net 
     ServerAlias xyz.net 

     ErrorLog ${APACHE_LOG_DIR}/error.log 
     CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

<Directory "/var/www"> 
     AllowOverride All 
     Order allow,deny 
     allow from all 
</Directory> 

Отлично, и это похоже на работу. Хотя, перейдя на www.xyz.net, вы загрузите, и вы сможете увидеть контент, однако, переход на xyz.net покажет мне страницу Index. Поэтому я изменил файл конфигурации, просто переключая имя и псевдоним:

<VirtualHost *:80> 
     ServerAdmin [email protected] 
     DocumentRoot /var/www/xyz.net/public_html 
     ServerName xyz.net 
     ServerAlias www.xyz.net 

     ErrorLog ${APACHE_LOG_DIR}/error.log 
     CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

<Directory "/var/www"> 
     AllowOverride All 
     Order allow,deny 
     allow from all 
</Directory> 

Однако, это не похоже на работу, как же я все еще получаю индекс страницы? Почему именно на www.xyz.net есть все содержимое страницы, но у xyz.net нет ?! Я действительно смущен.

Я пытался заставить WWW перенаправить на не-www, сначала я предположил, что это ошибка с моим файлом .htaccess, но после попытки использования различных методов перенаправления и даже выполнения этого в PHP я предполагал, был Апач, который меня заворачивал. Так вот код я использую для HTAccess:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
RewriteRule ^(.*)$ http://%1$1 [L,R=301] 

редактировать: Спасибо за помощь, но все нагрузки на мелких www.xyz.net, однако на xyz.net показана Index Of страницы, и в списке нет индексированных элементов, поэтому, по-видимому, это просто пустая веб-страница.

+0

Адрес www. и не-www указывают на правильный IP-адрес, так как для регистрации ошибок я не могу заставить его работать –

+0

Ой, извините, когда я перезапускаю apache, он сообщает мне, что RewriteLog ошибочно принят или определен модулем, не включенным в конфигурации сервера. –

+0

Ах, исправлена ​​вещь уровня журнала, выясняется, что я использую для старых версий, поэтому я заменил ее на «LogLevel rewrite: trace3» –

ответ

0

Проверьте, есть ли где-то другой виртуальный хост с ServerName: xyz.net. В этом случае другой виртуальный хост может иметь приоритет над вашим виртуальным хостом.

В системах на базе Linux есть файл конфигурации по умолчанию, который может содержать этот ServerName. По умолчанию это /etc/apache2/sites-available/default. Файл также может быть назван 000-default.conf

+0

Ах, черт возьми, только что понял, что я задал свой вопрос нечетким. Извините, я действительно устал. –

+0

Не волнуйся, я тоже устал. Сейчас 4:40, и я все еще работаю над своим кодом. – kazy

+0

Ха-ха, 3.42 здесь, и я действительно хочу спать, но эти ошибки действительно раздражают. Чтобы уточнить, он показывает страницу Index, которая пуста, поэтому, по-видимому, нет файлов. Если я добавлю www. он показывает домашнюю страницу для веб-сайта. –

Смежные вопросы