У меня возникла проблема с тем, чтобы Zend Framework хорошо работал с субдоменами на моем сервере. У меня есть стек LAMP, работающий на Ubuntu 11.10, я также использую динамическую службу DNS, в которой определены записи моей зоны. Итак, в основном мой DNS настроен так:
DNS: Зарегистрировано в одной компании и указывает мое доменное имя на серверах имен динамического DNS здесь.
С хостом Dynamic DNS у меня есть 3 определенные записи зоны типа A:
mydomain.com 000.00.0.0
www.mydomain.com 000.00.0.0
*.mydomain.com 000.00.0.0 <-- wildcard to catch all subdomains
Настройка Apache:
в /etc/apache2/sites-available
:: /sites-enabled у меня есть настройка по умолчанию для mydomain
и другой виртуальный хост для mysubdomain.mydomain.com
/var/www
: у меня есть папка mydomain.com/public /var/www/public в качестве корня документа
/var/www/mysubdomain
: у меня есть mysubdomain.mydomain.com
, использующий папку /var/www/mysubdomain/public
в качестве корня
Я думаю, что все это настроено правильно, потому что я правильно обрабатываю любой запрос к www.mydomain.com
, а также правильно обрабатываю любой запрос к www.mysubdomain.mydomain.com
.
НО, когда я делаю запрос типа www.mysubdomain.mydomain.com/:controller
или www.mysubdomain.mydomain.com/:controller/:action
, сервер выдает ошибку 404 Not Found со следующим сообщением:
The requested URL /controller/action was not found on this server.
Я думаю, что это проблема с моим .htaccess, который настроен следующим образом в
мой .htaccess:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php
Дело в том, что когда приложение, к которому я сейчас пытаюсь получить доступ, настроено и доступно как обычный домен, например www.mysubdomain.com
, все работает.