Виртуальный хост Apache без доменного имени

У меня есть VPS с установленным apache2, и я хотел бы получить доступ к некоторым PHP-проектам без имени домена только с IP-адресом. Например:

http://162.243.93.216/projecta/index.php http://162.243.93.216/projectb/index.php 

У меня есть другие проекты с доменом, например example.com, в моем каталоге / var / www /

 /html/ info.php /projecta/ /projectb/ /example/ 

Когда я иду

 http://162.243.93.216/info.php then /var/www/html/info.php is opened. 

Мой файл 000-default.conf

 <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> 

 " http://162.243.93.216/info.php then /var/www/html/info.php is opened " 

Я предполагаю, что это уже работает (если нет, раскомментируйте строку ServerAlias показанную в conf ниже)

Теперь вы хотите отобразить

http://162.243.93.216/projecta/ to /var/www/projecta
http://162.243.93.216/projectb/ to /var/www/projectb

Для этого вам нужно использовать директиву Apache Alias .

Обновите файл 000-default.conf чтобы:

 <VirtualHost *:80> # ServerAlias 162.243.93.216 ServerAdmin webmaster@localhost DocumentRoot /var/www/html Alias /projecta /var/www/projecta Alias /projectb /var/www/projectb <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> 

Создайте новый файл виртуального хоста и настройте его следующим образом:

 <VirtualHost *:80> ServerAdmin webmaster@localhost ServerAlias 192.168.1.1 DocumentRoot /somewhere/public_html <Directory /somewhere/public_html/> Options Indexes FollowSymLinks MultiViews ExecCGI AllowOverride Authconfig FileInfo Require all granted </Directory> </VirtualHost> 

добавьте serveralias, и он также узнает IP-адрес … если вы хотите добавить больше IP-адресов (например, локальный сетевой интерфейс), вы можете добавить больше строк серверной информации …