路由不适用于Slim框架

时间:2017-07-29 04:16:12

标签: php .htaccess slim

我正在学习纤细的框架。我有一点需要设置我的网络服务器,以便我可以看到http://slimapp而不是http://localhost/slimapp/public/index.php

我在项目的公共文件夹中包含了一个.htaccess文件,如此

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

我还在我的wamp服务器上设置了一个虚拟主机

<VirtualHost *:80>
    DocumentRoot "C:\wamp64\www\slimapp\public"
    ServerName slimapp

    <Directory "C:\wamp64\www\slimapp\public">
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

我还将此添加到我的主机文件

127.0.0.1 slimapp 

我重新启动了我的服务器,但是我找到了一个“未找到”的服务器。我尝试访问路线时出错。

"Not Found
The requested URL /hello/uche was not found on this server."

这是我的index.php文件

<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;

require '../vendor/autoload.php';

$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();

请在这里帮助我。

2 个答案:

答案 0 :(得分:0)

尝试将.htaccess文件移动到根目录

答案 1 :(得分:0)

万一仍然有人遇到这个问题,这就是我解决的方法:

启用模型重写。在您的终端中输入:

sudo a2enmod重写&& sudo服务apache2重新启动

http://help.slimframework.com/discussions/problems/10216-beginner-routes-not-working