.htaccess: как перенаправить img, js .. из / www / в / www / public /? - PullRequest
1 голос
/ 17 февраля 2011

У меня есть Zend Framework htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ public/index.php [NC,L]

Но я не знаю, как перенаправить все параметры "ссылки", такие как js, css, img.

Ответы [ 2 ]

1 голос
/ 22 августа 2012

Вот мой .htaccess, который отлично работает:

DirectoryIndex /public/index.php     
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^js/(.*)$     public/js/$1 [L]
RewriteRule ^img/(.*)$     public/img/$1 [L]
RewriteRule ^css/(.*)$     public/css/$1 [L]
RewriteRule ^.*$ public/index.php  [NC,L]
1 голос
/ 17 февраля 2011

Решение одно : Ваш веб-сервер должен указывать на каталог public /, а не на корневой каталог проекта ZF.

Решение два (я думаю, лучше): Ваш веб-сервер указывает на каталог проекта ZF, или даже проект ZF находится в подкаталоге. Как http://localhost/zf-project/.

.htaccess в каталоге zf-проекта (рядом с public /, application /, library / ...):

RewriteEngine On
RewriteRule ^(.*)$ public/$1?%{QUERY_STRING} [QSA,L]

.htaccess в публичном каталоге /:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

А в application / configs / application.ini вы устанавливаете

resources.frontController.baseUrl = "/zf-project/"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...