我正在学习 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();
请在这里帮助我。
尝试将 .htaccess 文件移动到根目录
如果有人仍然遇到这个问题,我就是这样解决的:
启用模型重写。在您的终端类型中:
sudo a2enmod 重写 && sudo 服务 apache2 重启
http://help.slimframework.com/discussions/problems/10216-beginner-routes-not-working