【问题标题】:Fat Free Framework returns 404 error with custom routesFat Free Framework 使用自定义路由返回 404 错误
【发布时间】:2014-11-05 20:58:25
【问题描述】:

我正在尝试在Z-Wamp 服务器上设置 Fat Free Framework。 起初我尝试编辑主页以了解模板的工作原理,但当我尝试添加第二条路线时,我收到 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 已启用。

相同的文件在我的生产网站上工作。

【问题讨论】:

  • 您是否尝试过添加RewriteBase 指令?
  • 您确定在控制台上没有收到任何错误消息吗?您的项目在子文件夹中吗?
  • @sascha 没有错误,我的项目在根文件夹中。
  • 好的,我明白了:从第一行删除php => RewriteRule ^(lib|tmp)\/|\.ini$ - [R=404]。它可以防止index.php 被运行!
  • 是的,这很棘手。它已从dev version 中删除,但尚未发布。

标签: php apache .htaccess mod-rewrite fat-free-framework


【解决方案1】:

您必须从第一个 RewriteRule 中删除 php,因为它会阻止 index.php 运行!

应该是:

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

这一行是错误地添加到 F3 的主存储库中的。它已在 dev version 中删除,现在应该很快从 master 中删除。

【讨论】:

  • 再次感谢,我花了两天时间试图了解问题所在!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-04
  • 1970-01-01
  • 2021-02-21
相关资源
最近更新 更多