Intereting Posts
Как преобразовать динамически построенный запрос ext / mysql в подготовленный отчет PDO? typehinting: метод должен принимать любой $ arg, являющийся объектом Является ли это безопасным способом вставки данных формы в базу данных MySQL? Устранение неполадок "Предупреждение: session_start (): Не удается отправить ограничитель кеша сеанса – уже отправленные заголовки" Массив поиска: array_filter vs loop Как избежать дублирования записей во взаимоотношениях «многие-ко-многим» с «Доктриной»? Внедрение оценки объектов выражения типа goMongoDB Торговая площадка Braintree – Что произойдет, если Master Merchant взимает плату с клиента во время продажи, но должен заплатить доспелому Сделайте PHP pathinfo () верните правильное имя файла, если имя файла UTF-8 Массивы с NULL ключами Статическая соль против случайной соли – безопасность PHP PHP: require () и иерархии классов $ _POST против $ HTTP_RAW_POST_DATA vs file_get_contents (php: // input)? как изменить номер страницы, который можно использовать для внешних datatable с jquery? Автоматическое удаление Max / Min из массива при создании

htaccess переписывает все запросы на один контроллер

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

У меня был частичный успех, используя следующее правило перезаписи:

RewriteRule ^(.*)$ index.php/$1/ [L] 

Однако единственным способом, с помощью которого я могу заставить его работать, является добавление к нему переписывающего условия, которое делает некоторую проверку, чтобы убедиться, что запрос не для index.php, иначе я получаю ошибку внутреннего внутреннего сервера. Я посмотрел журнал ошибок и, похоже, из-за слишком большого количества повторных действий. Я понимаю, что если запрос index.php не имеет значения, так как они попадут в нужный файл, но я не понимаю необходимость этого условия, и я чувствую себя грязным, включая его, когда я не знаю, почему он должен быть там?

Правило работы …

 RewriteCond %{REQUEST_URI} !^/index.php/ 

Его также стоит упомянуть, что это условие перезаписи работало, но опять же я не знаю, зачем это нужно!

 RewriteCond %{REQUEST_FILENAME} !index.php 

Related of "htaccess переписывает все запросы на один контроллер"

RewriteCond означает, что следующий RewriteRule оценивается только в том случае, если эти условия выполнены. В вашем случае в словах «Если запрошенный URI не начинается с /index.php, перенаправляйте его на index.php».

Вам нужна эта проверка, потому что в противном случае вы перенаправляете index.php себе в бесконечный цикл.