刚开始使用Silex并遇到一些问题。
下载fat zip file,将其解压缩到wamp
的{{1}}文件夹中。所以,这是www
:
C:\wamp\www\fat-silex\web\index.php
问题是我获得了<?php
require_once __DIR__.'/../vendor/autoload.php';
$app = new Silex\Application();
$app->get('/hello', function() {
return 'Hello!';
});
$app->run();
的Apache的404,以及http://localhost/fat-silex/web/hello
以外的任何URL,我得到的是Silex'es 404(正如预期的那样)。我猜这些请求直接发送到Apache,并且不会被Silex路由。这似乎可以通过localhost/fat-silex/web
文件解决问题,所以我添加了这个,在official documentation中建议:
.htaccess
但是,它似乎根本没有任何效果。
答案 0 :(得分:5)
您的重写基础应为/fat-silex/web
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /fat-silex/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
我已经在我的localhost上测试了它,它运行正常
答案 1 :(得分:1)
问题是你的apache conf。如果您不使用虚拟主机,则应配置apache以允许项目目录的htaccess文件。
在Linux(Ubuntu)上:sudo vi /etc/apache2/sites-available/default
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
...
</Directory>
<Directory /var/www/fat-silex/>
AllowOverride All
</Directory>