Fat Free Framework возвращает ошибку 404 с пользовательскими маршрутами

Я пытаюсь установить Fat Free Framework на сервере Z-Wamp. Сначала я пытался редактировать домашнюю страницу, пытаясь понять, как работают шаблоны, но когда я пытаюсь добавить второй маршрут, я получаю ошибку 404.

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

Вот мои маршруты (только /stats не работает):

$f3->route('GET /',
           function() use ($f3) {
               $f3->set('page','ui/pages/idx.htm');
               echo Template::instance()->render('ui/template.htm');
           }
          );

$f3->route('GET /stats',
          function(){
              echo 'Stats';
          }
         );

Это мой .htaccess файл:

RewriteEngine On
RewriteRule ^(lib|tmp)\/|\.(ini|php)$ - [R=404]
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L,QSA]

И это моя конфигурация httpd.conf для корневой папки

<Directory />
    Options -Indexes +FollowSymLinks +Includes
    Require all granted
    AllowOverride All
</Directory>

Конечно, mod_rewrite включен.

Те же файлы работают на моем производственном сайте.


person Vektor88    schedule 05.11.2014    source источник
comment
Вы пытались добавить директиву RewriteBase?   -  person xfra35    schedule 06.11.2014
comment
Вы уверены, что не получаете никаких сообщений об ошибках на консоли? Ваш проект находится в подпапке?   -  person sascha    schedule 06.11.2014
comment
@sascha нет ошибок, и мой проект находится в корневой папке.   -  person Vektor88    schedule 06.11.2014
comment
Странный. У вас есть папка с именем stats?   -  person xfra35    schedule 06.11.2014
comment
Что возвращает 404? Апач или Ф3?   -  person xfra35    schedule 06.11.2014
comment
@ xfra35 У меня нет папки с именем stats, и Apache возвращает ошибку 404.   -  person Vektor88    schedule 06.11.2014
comment
Хорошо, я понял: удалите php из первой строки => RewriteRule ^(lib|tmp)\/|\.ini$ - [R=404]. Это предотвращает запуск index.php!   -  person xfra35    schedule 06.11.2014
comment
@xfra35 наконец-то это работает! Эта строка была в файле F3 .htaccess по умолчанию, поэтому я никогда не подозревал, что это может быть причиной!   -  person Vektor88    schedule 06.11.2014
comment
Да, это было сложно. Он был удален из версии для разработчиков, но еще не опубликован.   -  person xfra35    schedule 06.11.2014
comment
@ xfra35 Добавьте это как ответ, я приму это :)   -  person Vektor88    schedule 06.11.2014


Ответы (1)


Вы должны удалить php из первого RewriteRule, потому что это препятствует запуску index.php!

Должен быть:

RewriteRule ^(lib|tmp)\/|\.ini$ - [R=404]

Эта строка была добавлена ​​по ошибке в главный репозиторий F3. Он был удален в dev-версии и скоро должен быть удален из master.

person xfra35    schedule 06.11.2014
comment
Еще раз спасибо, я потерял два дня, пытаясь понять, что не так! - person Vektor88; 06.11.2014