Сайт виртуального хоста XAMPP со всеми конфигами не работает - PullRequest
0 голосов
/ 20 января 2019

Я пытаюсь запустить сайт my.com локально на сервере apache XAMPP. Здесь мои конфигурации в httpd-vhosts.conf файле в пути ...\XAMPP\apache\conf\extra:

<VirtualHost *:80>
    DocumentRoot "D:/IDEs/XAMPP/htdocs"
    ServerName localhost
    <Directory "D:/IDEs/XAMPP/htdocs">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "D:/IDEs/Websites/my.com"
    ServerName my.com
    <Directory "D:/IDEs/Websites/my.com">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Кроме того, я вспомнил, как добавить две строки в файл hosts, с расположен в C:\Windows\System32\drivers\etc:

127.0.0.1   localhost
127.0.0.1   my.com

Однако, когда я захожу по ссылке «my.com» с включенным сервером Apache, у меня появляется только страница с каталогами папок, которые находятся в htdocs папке XAMPP.

Я проверил много видео и вопросов о stackoverflow, но ничего не помогло. Я был бы рад, если бы вы могли помочь мне решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 23 января 2019

После пятидневной ночи чтения, поиска, попытки я окончательно нашел решение и сделал его в несколько шагов:

Прежде всего, забудьте о каждом файле и сконцентрируйтесь на httpd-ssl.conf, которыйнаходится в D:\IDEs\XAMPP\apache\conf\extra.

Второе: найдите строку «Контекст виртуального хоста SSL», которая была закомментирована.А ниже найдите строку <VirtualHost _default_:443> .или simmilar.Затем измените его на <VirtualHost *:443>.

В-третьих, измените корень документа на путь htdocs xampp, например, "D: / XAMPP / htdocs".Также измените ServerName с www.example.com:443 или аналогичный на localhost.Вот и все.

И, наконец, после строки </VirtualHost> введите код

<VirtualHost *:443>
        DocumentRoot "D:/IDEs/Websites/my.com"
        ServerName my.com
    <Directory "D:/IDEs/Websites/my.com">
            Require all granted
    </Directory>
</VirtualHost>

Измените Document Root и Directory пути к местоположению вашего сайта.И Servername к вашему имени сервера.

RESTART APACHE

это работает для меня.

Я также понял, что некоторые веб-сайты используют SSL на localhost, а другие нет.Поэтому, если у вас есть исключение, например Apache/2.4.37 (Win32) OpenSSL/1.0.2p PHP/7.0.33 Server at my.com Port 443, добавьте ваши конфиги virtualhost в файл httpd-ssl.conf.Если вы получили ... Port 80, добавьте ваши конфиги virtualhost в httpd-vhosts.conf

0 голосов
/ 20 января 2019

сначала вы должны расположить каталоги на httpd.conf

пример:

    <Directory "C:/SERVER~1/web/site1">
    Options Indexes FollowSymLinks MultiViews ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
<Directory "C:/SERVER~1/web/site2">
    Options Indexes FollowSymLinks MultiViews ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

, а затем расположить vhosts.conf следующим образом

пример:

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName www.site1.com
    DocumentRoot "C:/SERVER~1/web/site1"
</VirtualHost>

<VirtualHost *:80>
    ServerName site1.com
    DocumentRoot "C:/SERVER~1/web/site1"
</VirtualHost>

<VirtualHost *:80>
    ServerName www.site2.com
    DocumentRoot "C:/SERVER~1/web/site2"
</VirtualHost>

<VirtualHost *:80>
    ServerName site2.com
    DocumentRoot "C:/SERVER~1/web/site2"
</VirtualHost>
...