PHP / Zend механизмы для переписывания - PullRequest
0 голосов
/ 28 мая 2009

Привет, это вопрос новичка Зенда. В расположении сайта: « mydomain.org / subA / subB », если мы перейдем в это местоположение без входа (или проведения сеанса), он i) перенаправит на страницу входа. В противном случае, он ii) перенаправляет на регистрационную форму гонки. Теперь я подумал, что правила переписывания Apache сделали это, но нет конфигурации, которая указывает на это в нашем файле .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]

Единственные известные мне механизмы, которые могут выполнять такое переписывание, - это i) Apache mod_rewrite или ii) перезапись через контроллер Zend или компоненты маршрутизатора. Что-нибудь еще, что я мог бы пропустить? Как я уже говорил, я новичок в PHP / Zend, поэтому было бы неплохо иметь что-то, что может отследить этот запрос, чтобы увидеть, через какие системы он проходит.

Спасибо

1 Ответ

0 голосов
/ 28 мая 2009

Я бы использовал встроенные библиотеки маршрутизации Zend:

http://framework.zend.com/manual/en/zend.controller.router.html

Маршрутизатор Zend позволяет создавать перезаписанные маршруты из вашего приложения без написания пользовательских правил mod_rewrite. Правила переписывания, которые вы вставили из файла .htaccess, - это то, что Zend требует для своей работы.

РЕДАКТИРОВАТЬ: я прочитал ваш вопрос чуть более внимательно. Я думаю, вы понимаете, что у Zend есть маршруты. Если вы ищете причину, по которой работает перенаправление, попробуйте проверить контроллер на странице, которая должна пройти аутентификацию. Если preDispatch() определено в контроллере, возможно, он проверяет аутентификацию сеанса и перенаправляет на другой контроллер, если он отсутствует.

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