#zend-framework #web-applications
#zend-framework #веб-приложения
Вопрос:
у меня возникли проблемы с развертыванием моего приложения zend Framework на хостинге mediatemple GS.
Я загрузил папку своего приложения в ~/domains
и переименовал ее в mysite.net
папку. Внутри него я создал символическую ссылку, html
которая указывает на public
каталог в папке приложения zend framework. Но приложение пока не работает. Как правило, mediatemple указывает путь host
к ~/domains/host/html
, на который mysite.net
должен указывать мой домен ~/domains/mysite.net/html
. Я делаю что-то неправильно или в этом есть что-то еще? Я получаю ошибку 403 при попытке доступа mysite.net
Обновление: Следующие правила перезаписи делают базовый URL http://mysite.net загружается, но контроллеры сейчас не работают. доступ http://mysite.net/controller отправляет сообщение об ошибке «страница не найдена»: S
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteRule ^.htaccess$ - [F]
RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ /public/index.php [NC,L]
RewriteCond %{REQUEST_URI} !^/public/.*$
RewriteRule ^(.*)$ /public/$1
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^public/.*$ /public/index.php [NC,L]
Обновление: теперь это решено. Хитрость заключается в том, чтобы добавить вышеуказанный .htaccess
файл в корневую папку приложения, а также сохранить оригинал .htaccess
в общедоступном каталоге. Вместе они творят чудеса.
Комментарии:
1. найдено исправление здесь ttech.it/en/article/2010/03 /…
Ответ №1:
Я сам нашел решение:
создайте .htaccess
файл в корневой папке приложения:
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteRule ^.htaccess$ - [F]
RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ /public/index.php [NC,L]
RewriteCond %{REQUEST_URI} !^/public/.*$
RewriteRule ^(.*)$ /public/$1
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^public/.*$ /public/index.php [NC,L]
Также сохраните оригинал .htaccess
в /public
папке. Сначала я удалил это, что ухудшило ситуацию.