Zend Framework в подпапке - PullRequest
       3

Zend Framework в подпапке

0 голосов
/ 11 октября 2009

Я установил приложение Zend Framework в подпапку, что-то вроде этого:

www.mydomain.com/temp/zend-application/

Теперь проблема заключается во всех таблицах стилей, файлах JavaScript, а также во всех ссылках используются относительные пути, такие как:

/css/styles.css
/js/jquery.js
/controller/action

И они идут в основной домен следующим образом:

www.mydomain.com/css/styles.css
www.mydomain.com/js/jquery.js
www.mydomain.com/controller/action

Так, как заставить это работать в той подпапке?

Мой файл .htacces теперь выглядит так:

RewriteEngine On

# Exclude some directories from URI rewriting
#RewriteRule ^(dir1|dir2|dir3) - [L]

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]

РЕДАКТИРОВАТЬ: Я решил проблему с помощью метода setBaseUrl () фронт-контроллера. Теперь проблема в том, как отредактировать мой файл .htaccess.

Ответы [ 2 ]

2 голосов
/ 11 октября 2009

Лучшим решением было бы установить BaseUrl в вашем приложении. Это должно быть обнаружено автоматически, если вы установите RewriteBase в вашем .htaccess. Маршрутизатор и другие компоненты знают об этом параметре и могут генерировать соответствующие ссылки.

Существует помощник вида , который упрощает привязку к ресурсам.

В качестве альтернативы вы можете исправить эти ссылки с помощью тега в заголовке документа.

<html>
<head>
<base href="http://www.mydomain.com/temp/zend-application/">
</head>

Дальнейшее чтение на http://www.w3schools.com/TAGS/tag_base.asp

0 голосов
/ 11 октября 2009

Я бы определенно использовал помощник вида baseUrl (), предварительно добавленный к путям CSS и JS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...