У меня есть 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-адресов (например, локальный сетевой интерфейс), вы можете добавить больше строк серверной информации …