Как стать автором
Обновить

Shared Hosting & mod_rewrite

Время на прочтение 1 мин
Количество просмотров 1.2K
Автор оригинала: Lorenzo Alberton
Небольшой совет для тех кто пишет приложения на Zend Framework с использованием структуры директорий рекомендуемой в мануале и, по умолчанию, в Zend_Tool и размещает их по тем или иным причинам на shared хостингах.

Структура ваших директорий имеет вид:
projectname/<br>  application/<br>   controllers/<br>   views/<br>     scripts/<br>  library/<br>  public/<br>  tests/
Директория public содержит файлы которые должны отдаваться пользователю веб сервером, по-этому ее необходимо устанавливать как DOCUMENT ROOT. Проблема заключается в том что часть хостеров не предоставляет доступа у изменению этого параметра, а так же к директориям выше уровнем, т. е. когда вы подключаетесь по FTP самый верхний уровень на который вы можете попасть — это внутрь DOCUMENT ROOT.

Без изменения структуры директорий эту проблему можно решить удалив из «public» стандартный .htaccess и разместив в корне слудующий .htaccess:
RewriteEngine On<br> <br>RewriteRule ^\.htaccess$ - [F]<br> <br>RewriteCond %{REQUEST_URI} =""<br>RewriteRule ^.*$ /public/index.php [NC,L]<br> <br>RewriteCond %{REQUEST_URI} !^/public/.*$<br>RewriteRule ^(.*)$ /public/$1<br> <br>RewriteCond %{REQUEST_FILENAME} -f<br>RewriteRule ^.*$ - [NC,L]<br> <br>RewriteRule ^public/.*$ /public/index.php [NC,L]

P. S.
Так же этот вариант отлично подойдет пользователя пакета Denwer.
Теги:
Хабы:
+2
Комментарии 2
Комментарии Комментарии 2

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн