Pull to refresh

Shared Hosting & mod_rewrite

Reading time1 min
Views1.2K
Original author: 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.
Tags:
Hubs:
+2
Comments2

Articles

Change theme settings