.png)
У меня есть сервер с несколькими разными доменами на нем (каждый в отдельном VHost). Каждый VHost работает нормально, PHP выполняется правильно и т. д. Для примера, два домена — foo.com и bar.com. Я пытаюсь создать псевдоним на foo.com, который будет включать файлы из каталога на bar.com. Легко, правда?
# Apache config file for foo.com
Alias /bar-alias /var/www/vhosts/bar.com/httpdocs/somedir
<Directory "/var/www/vhosts/bar.com/httpdocs/somedir">
Options Indexes FollowSymLinks
Order Allow,Deny
Allow From All
Deny From None
</Directory>
Работает отлично и замечательно, за исключением попыток запустить PHP-скрипт. В моей конфигурации переход на www.foo.com/bar-alias/script.php возвращает исходный код скрипта вместо его выполнения. Я бился головой об стену, пытаясь понять, как заставить Apache выполнить PHP таким образом, и у меня ничего не получается.
(Если этосовсем(возможно, я бы хотел избежать необходимости делать какие-либо символические ссылки или что-то в этом роде. Это похоже на то, что я должен иметь возможность сделать чисто в конфигурации Apache, я просто не могу понять, как это сделать.)
решение1
Похоже, он может выполнять псевдоним до того, как закончит читать полную http conf. Следующая строка находится до или после вашего псевдонима? Попробуйте переместить ее выше:
Include conf.d/*.conf
решение2
На самом деле ядуматьЯ понял. Из-за разочарования я скопировал следующее из более ранней части конфигов и вставил в <Directory>
блок для этого псевдонима...
<IfModule sapi_apache2.c>
php_admin_flag engine on
php_admin_flag safe_mode off
</IfModule>
<IfModule mod_php5.c>
php_admin_flag engine on
php_admin_flag safe_mode off
</IfModule>
И вот, оно начало работать так, как я и ожидал. Я собираюсь еще немного поколотить по нему (кажется, мне это не нужно), но пока оно работает достаточно хорошо.