У меня есть виртуальный хост, созданный в /etc/apache2/sites-available называется привлекать.com.conf

Вот код для этого файла виртуального хоста (только соответствующий код прилагается):

ServerName attrave.com
ServerAdmin bonyuuuc@gmail.com
ServerAlias www.attrave.com
DocumentRoot /var/www/attrave.com

<Directory />
        Options FollowSymLinks
        AllowOverride None
</Directory>
<Directory /var/www/attrave.com>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
</Directory>

Я хотел бы иметь возможность получить доступ к сайту www.attrave.com также только по attrave.com .

В настоящее время, когда я захожу на attrave.com он ведет меня в каталог /var/www/ когда он действительно должен перейти в настоящую папку Attrave.com . Когда я включаю www. все работает, но это расстраивает.

РЕДАКТИРОВАТЬ: Вот мой обновленный файл виртуального хоста: (ЭТО ЕЩЕ НЕ РАБОТАЕТ)

# Ensure that Apache listens on port 80
Listen 80

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.

ServerName www.attrave.com
ServerAdmin bouuuuc@gmail.com
ServerAlias www.attrave.com
DocumentRoot /var/www/attrave.com

<Directory />
        Options FollowSymLinks
        AllowOverride None
</Directory>
<Directory /var/www/attrave.com>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
</Directory>

ОБНОВЛЕНИЕ 2:

Я попытался использовать все ваши предложения, и я до сих пор не могу заставить сайт работать под "привлечением". Он работает под "www.attrave.com".

Я прилагаю текст соответствующего содержания, который, надеюсь, позволит вам, ребята, лучше разобраться в этом вопросе.

  • Attrave.com.conf (файл виртуального хоста)

    DocumentRoot /var/www/attrave.com
    ServerName attrave.com
    ServerAlias attrave.com www.attrave.com
    ServerAdmin bouuuuic@gmail.com
    
    
    <Directory /var/www/attrave.com>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
    
  • Файл /etc /hosts

    # Your system has configured 'manage_etc_hosts' as True.
    # As a result, if you wish for changes to this file to persist
    # then you will need to either
    # a.) make changes to the master file in /etc/cloud/templates/hosts.tmpl
    # b.) change or remove the value of 'manage_etc_hosts' in
    #     /etc/cloud/cloud.cfg or cloud-config from user-data
    
    127.0.0.1 localhost
    
  • Файл Apache2.conf

     <Directory />
      Options FollowSymLinks
     AllowOverride None
      Require all denied
     </Directory>
    
    <Directory /usr/share>
     AllowOverride None
     Require all granted
    </Directory>
    
    <Directory /var/www/>
     Options Indexes FollowSymLinks
     AllowOverride None
     Require all granted
     </Directory>
    
     #<Directory /srv/>
     #  Options Indexes FollowSymLinks
     #   AllowOverride None
     #   Require all granted
    #</Directory>
    

2 ответа2

0

В вашей оригинальной конфигурации:

ServerName attrave.com
ServerAdmin bonymusic@gmail.com
ServerAlias www.attrave.com
DocumentRoot /var/www/attrave.com

<Directory />
        Options FollowSymLinks
        AllowOverride None
</Directory>
<Directory /var/www/attrave.com>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
</Directory>

У вас есть ServerAlias который просто установлен на www.attrave.com . Я бы порекомендовал добавить в этот список attrave.com следующим образом:

ServerAlias attrave.com www.attrave.com

В дополнение к этому, я бы порекомендовал изменить порядок основных параметров конфигурации следующим образом:

DocumentRoot /var/www/attrave.com
ServerName attrave.com
ServerAlias www.attrave.com
ServerAdmin bonymusic@gmail.com

Кроме того, этот фрагмент конфигурации бесполезен из того, что я вижу, поскольку основная директива <Directory /var/www/attrave.com> используется для DocumentRoot:

<Directory />
        Options FollowSymLinks
        AllowOverride None
</Directory>

Если ничто из этого не изменит ничего, тогда может показаться, что в вашей базовой конфигурации Apache что-то глубже.

-1

ты пробовал:

# Ensure that Apache listens on port 80
Listen 80

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot /var/www/attrave.com
    Servername attrave.com
    # Other directives here
</VirtualHost>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .