Zend Framework htaccess Backend / Frontend - PullRequest
       6

Zend Framework htaccess Backend / Frontend

1 голос
/ 26 октября 2011

В моем текущем проекте ZF у меня есть две общедоступные точки доступа (файлы), готовые для обработки и обработки поступающих запросов, а именно: index.php & admin.php

Мне нужно, чтобы все URL-адреса, содержащие «/ admin», были направлены в admin.php, в то время как любые другие URL-адреса, не содержащие «/ admin», должны быть направлены в index.php

Зная, что по умолчанию ZF 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]

Как это можно реализовать?

1 Ответ

2 голосов
/ 26 октября 2011

Я хочу начать с того, что от всего сердца согласен с AurelioDeRosa. Я верю, что маршруты будут лучшим выбором. Однако это ваш выбор, а не мой, и этот код .htaccess должен выполнить ту задачу, которую вы хотите.

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

Обратите внимание, что этот скрипт будет перехватывать все, что содержит admin, поэтому он может сломать ваш интерфейс. например, если вы хотите перечислить всех ваших пользователей с правами администратора, URL-адрес yoursite.com / users / listby / admin / перенаправит запрос на admin.php, а также URL-адреса типа / administrator / или / adminininini

...