Я установил Apache 2.4 на Ubuntu 14.04, и он работал нормально по адресу http://localhost/
. Но когда я попытался добавить новый виртуальный хост, например http://bow.loc
и перезапустить apache, новый адрес был недоступен в http://bow.loc
и недоступен в http://localhost
.
Моя конфигурация:
<VirtualHost *:80>
ServerName www.bow.loc
ServerAlias bow.loc
DocumentRoot /var/www/html/bow/web
<Directory /var/www/html/bow>
AllowOverride All
Options FollowSymLinks MultiViews
Order allow,deny
Allow from all
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /app.php [QSA,L]
</IfModule>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Как я могу получить свой сайт по http://bow.loc
?
Начиная с Apache 2.4 каждый виртуальный файл хоста должен иметь .conf расширение.
можно переименовать каждый виртуальный файл хоста для включения .conf расширения:
mv /etc/apache2/sites-available/example.com /etc/apache2/sites-available/example.com.conf
Использование a2ensite управляют для добавления виртуального хоста:
a2ensite example.com.conf
И Apache перезагрузки:
service apache2 reload
Я забыл добавлять хост в /etc/hosts
:
127.0.0.1 localhost
127.0.0.1 bow.loc
я думал, что апач делает это автоматически.
Ну, я пробовал все эти решения, но, к сожалению, ничего не получалось! Увы, я отредактировал
/etc/hosts
, чтобы сделать запись
127.0.1.1 example.com test.com
, и это сработало !!
(Извините, если я не много говорю технически!)
Я записал сценарий Python, который автоматизирует апачские виртуальные шаги создания хоста... этот , видео объясняет, как, загрузите/кодируйте на GitHub
Options FollowSymLinks MultiViews
символ Потребности '+': +FollowSymLinks +Multiviews
Order allow,deny
Allow from all
Теперь = Требует весь предоставленный