У меня есть домен (example.com), указывающий на веб-сервер apache2.
корневая папка www выглядит так:
www/
site/
app/
test/
Конфигурация apache должна:
Я уверен, что настройки DNS верны, все URL-адреса разрешаются на моем веб-сервере.
Вот что я получил в своей конфигурации apache:
<VirtualHost *:80>
<Directory />
Options Indexes FollowSymLinks Includes
AllowOverride All
Order deny,allow
Allow from all
Require all granted
</Directory>
ServerName www.example.be
ServerAlias www.example.be
DocumentRoot /var/www/site
ErrorLog ${APACHE_LOG_DIR}/site/error.log
CustomLog ${APACHE_LOG_DIR}/site/access.log combined
</VirtualHost>
<VirtualHost *:80>
<Directory />
Options Indexes FollowSymLinks Includes
AllowOverride All
Order deny,allow
Allow from all
Require all granted
</Directory>
ServerName example.be
ServerAlias *.example.be
VirtualDocumentRoot /var/www/app/production/source
SetEnv VAR_NAME %1
ErrorLog ${APACHE_LOG_DIR}/site/error.log
CustomLog ${APACHE_LOG_DIR}/site/access.log combined
</VirtualHost>
Первый VirtualHost, перезапись www в папку сайта работает как надо.
Второй выполняет правильную перезапись, но я не могу поместить субдомен в переменную окружения.
Может ли кто-нибудь помочь мне с этим последним шагом? Я не особо разбираюсь в apache ...
Спасибо!
Вы говорите, что браузер не может разрешить URL типа http://test.example.com. Так является ли test.example.com зарегистрированным именем хоста в DNS? В противном случае ваше RewriteRule никогда не сможет сработать, потому что клиент не сможет его найти.
Если вы не уверены, что test.example.com зарегистрирован в DNS, попробуйте использовать любой онлайн-инструмент поиска DNS или запустите из командной строки host test.example.com
(Linux) или nslookup test.example.com
(Windows).