Мое приложение 'зенда' по умолчанию имеет эту структуру по умолчанию
/zend + webroot
/application
/config
/library
/public
.htaccess
index.php
и значение по умолчанию .htaccess перенаправляет различные детали контроллера/действия через./public/index.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Я использую этот URL по умолчанию для доступа к приложению
http://domain/index.php
Я теперь переместился в общий хост, где webroot выше корня 'зенда'.
/webroot
/zend
/application
/config
/public
index.php
.htaccess
но я могу только получить доступ к своему приложению через этот URL
http://domain/zend/public/index.php
я хочу быть в состоянии использовать
http://domain/zend/index.php
и имейте перенаправление .htaccess.
и я задаюсь вопросом, как я могу настроить .htaccess файл для перенаправления URL-запросов. Я прочитал это учебное руководство, но меня didn; t работают на меня
/webroot
/zend
.htaccess
/application
/config
/library
/public
index.php
Это - .htaccess содержание в этом случае
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]
Кто-либо может определить что-нибудь?
Создайте zend/index.php, содержащий этот код:
<?php include 'public/index.php';
Теперь создайте zend/.htaccess, содержащий этот код:
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteRule .* index.php
Убедитесь, что все ваши изображения/ss/js файлы находятся в zend/public/ и не удаляйте файл zend/public/.htaccess :)
Не забывайте, что в baseUrl запроса не содержится '/public', поэтому вам нужно будет добавить его самостоятельно, когда вы ссылаетесь на файлы с публичной ориентацией.
Regards,
Rob...
] Большинство разделяемых хостов, которые я использовал, до сих пор позволяют загружать файлы за пределами веб-корня. Например, [
] [/home/{username}/webroot/
]
[]... вы все еще можете загружать на []/home/{ имя пользователя}/[
] например:[
/webroot
index.php
.htaccess
/application
/config
]
[]Тогда в вашей bootstrap, просто замените []public[
] на []webroot[
], или, если у вас есть доступ по ssh, удалите существующий webroot и замените его символической ссылкой на zend public directory, например: [
rm -f webroot
ln -s public webroot
]