【问题标题】:Routing in fat free framework无脂肪框架中的路由
【发布时间】:2014-02-06 15:56:56
【问题描述】:

我已经开始学习fat free framework了,安装之后,我写的时候

require __DIR__.'/lib/base.php';
F3::set('DEBUG',3);
F3::set('UI','ui/');
F3::route('GET /',function () {echo "hello";});
F3::run();

在 index.php 中它在屏幕上显示 hello,但是当我将它添加到上面时

F3::route('GET /about', function () {echo "hello";});

当我打开 localhost/freefat-master/about 时,屏幕上会出现找不到页面。以下是我的 .htaccess 文件的详细信息

# RewriteBase /
RewriteCond %{REQUEST_URI} \.ini$
RewriteRule \.ini$ - [R=404]
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /index.php [L,QSA]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

我已经尝试将 RewriteRule 更改为 /fatfree/index.php。请给我一些建议。我正在使用 linux、mysql 和 apache。

【问题讨论】:

    标签: php .htaccess routing fat-free-framework


    【解决方案1】:

    如果你真的想打开

    localhost/freefat-master/about
    

    您最好确保这是实际路径。通常它被称为

    localhost/fatfree-master/about
    

    显然你可能已经改变了这一点。

    【讨论】:

    • 实际上我已经写了 localhost/fatfree-master/about,但这也不起作用
    • “你写过”是什么意思?您是否使用了您在 .htaccess 中编写的网址?
    • 您能否尝试复制适用于您问题的 URL?如果第一条路线有效,那么第二条路线也应该有效。
    • 我使用了路径 localhost/fatfree-master/about,但这不起作用,
    • 我认为您的 URL 与您在 .htaccess 中的内容不匹配 - 在上面的评论中您在 rewritebase 中编写了 /fatfree/,但您尝试访问 fatfree-master。您最初写道,第一个示例有效 - 有效的 URL 是什么?
    【解决方案2】:

    您无需更改.htaccess 中的任何内容,RewriteBase 行除外。改成

    RewriteBase /fatfree-master/

    它应该可以工作。

    【讨论】:

    • 仍然无法正常工作。请给我一些我被困在这里的建议
    • 你的服务器上是否安装了 mod_rewrite 并且已激活?
    • 不,我不知道,请告诉我所需的步骤
    • 我已经使用 sudo a2enmod rewrite 进行了检查,它说模块重写已经启用。
    • 嗯,我也忘了提到,你必须删除 .htaccess 第一行前面的#。 # 是注释,将禁用该行。
    【解决方案3】:

    刚刚在 /etc/apache2/000-default 中添加了一个新参数 'SERVERNAME' 并且它有效,感谢所有回复者。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多