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

Мой виртуальный хост не работает для версии без www

У меня есть веб-сервер разработки (ubuntu + apache), к которому можно получить доступ через URL-адрес glacialsummit.com. По какой-то причине http://www.glacialsummit.com обслуживает страницы из каталога /srv/www/glacialsummit.com/, но http://glacialsummit.com обслуживает страницы из каталога / var / www /. Вот как выглядят некоторые из моих файлов конфигурации виртуального хоста

имя файла: /etc/apache2/sites-enabled/glacialsummit.com

<VirtualHost 97.107.140.47:80>
     ServerAdmin sovereign@glacialsummit.com
     ServerName glacialsummit.com
     ServerAlias www.glacialsummit.com
     DocumentRoot /srv/www/glacialsummit.com/public_html/
     ErrorLog /srv/www/glacialsummit.com/logs/error.log
     CustomLog /srv/www/glacialsummit.com/logs/access.log combined
</VirtualHost>
<VirtualHost 97.107.140.47:443>
     ServerAdmin sovereign@glacialsummit.com
     ServerName glacialsummit.com
     ServerAlias www.glacialsummit.com
     DocumentRoot /srv/www/glacialsummit.com/public_html/
     ErrorLog /srv/www/glacialsummit.com/logs/error.log
     CustomLog /srv/www/glacialsummit.com/logs/access.log combined

        SSLEngine on

        SSLCertificateFile    /etc/ssl/localcerts/www.glacialsummit.com.crt
        SSLCertificateKeyFile /etc/ssl/localcerts/www.glacialsummit.com.key

        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
                SSLOptions +StdEnvVars
        </Directory>
        BrowserMatch ".*MSIE.*" \
                nokeepalive ssl-unclean-shutdown \
                downgrade-1.0 force-response-1.0

</VirtualHost>
<VirtualHost 97.107.140.47:80>
     ServerAdmin sovereign@glacialsummit.com
     ServerName project.glacialsummit.com
     ServerAlias www.project.glacialsummit.com
     DocumentRoot /srv/www/project.glacialsummit.com/public_html/
     ErrorLog /srv/www/project.glacialsummit.com/logs/error.log
     CustomLog /srv/www/project.glacialsummit.com/logs/access.log combined
</VirtualHost>
## i have many other vhosts that work fine in this file

имя файла / etc / apache2 / sites-enabled / 000-default

<VirtualHost 97.107.140.47:80>
    ServerAdmin webmaster@localhost

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

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

имя файла: /etc/apache2/ports.conf

NameVirtualHost 97.107.140.47:80
Listen 80

<IfModule mod_ssl.c>
    # SSL name based virtual hosts are not yet supported, therefore no
    # NameVirtualHost statement here
    Listen 443
</IfModule>

Как мне сделать http://glacialsummit.com обслуживать веб-страницы из /srv/www/glacialsummit.com/public_html точно так же, как http://www.glacialsummit.com?

Каково имя всего сервера, кроме VirtualHosts? Бьюсь об заклад, это glacialsummit.com... Если так, то это становится ServerName для безымянного VirtualHost в 000-default.conf, и этот VirtualHost переопределяет www.glacialsummit.com VirtualHost.

ServerAlias *.glacialsummit.com 

делает все (www, не-www и субдомены) ошибкой для псевдонима.

Под вашим ServerAlias для самого верхнего виртуального хоста добавьте glacialsummit.com вместе с www.glacialsummit.com