【问题标题】:Slim Framework routing not workingSlim 框架路由不起作用
【发布时间】:2018-05-23 02:15:24
【问题描述】:

我正在学习 Slim 框架,但被它的路由卡住了。

工作代码。代码 sn-p #1:

$app = new \Slim\App();

$app->get("/", function () {
   echo "Hello SlimFramework";
});

$app->run();

不工作。代码 sn-p #2:

$app = new \Slim\App();

$app->get("/hello/{name}", function (Request $request, Response $response) {

     $name = $request->getAttribute('name');
     $response->getBody()->write("Hello, $name");

     return $response; 
});

$app->run();

我收到“未找到” 在此服务器上找不到请求的 URL /hello/name。”对于代码 sn-p #2。任何线索这里发生了什么?

.htaccess 文件

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]

提前致谢!

【问题讨论】:

  • 听起来你的.htaccess 没有产生适当的效果。最好的检查方法是破坏它 - 如果您将 Test 添加到它的顶部并且您的网站没有破坏,那么它就没有被阅读。
  • 可能是一个愚蠢的问题,但您是否通过 Apache 运行应用程序?如果是这样,服务器或虚拟主机的文档根目录是否设置为应用程序的public 目录? .htaccess文件是public/.htaccess吗?
  • 在 .htaccess 文件中尝试这一行 RewriteRule ^(.*)$ index.php [QSA,L]
  • @ceejayoz 的解决方案帮助我发现了问题。我的 .htaccess 没有被读取。
  • @bianca 请在此处添加您的解决方案作为答案。其他人很可能会遇到同样的问题,没有什么比在网上找到你的问题更糟糕的了

标签: php apache slim


【解决方案1】:

为了为我解决这个问题,我必须从头开始。 @ceejayoz 关于确保 .htaccess 是否正常工作的解决方案对测试 .htaccess 配置有很大帮助。

【讨论】:

    猜你喜欢
    • 2018-01-05
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    • 2017-10-13
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    • 2016-06-28
    相关资源
    最近更新 更多