我正在使用像这样的htaccess,
RewriteEngine On
RewriteBase /link/application/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
在/ application /文件夹中使用简单的index.php,如下所示
<?php
require_once __DIR__ . '/../framework/autoload.php';
$app = new Silex\Application();
$app['debug'] = true;
$app->get('/', function() {
return 'Hello!';
});
$app->run();
当我尝试访问localhost / link时,Silex给了我一个错误
NotFoundHttpException: No route found for "GET /link/"
所以要修复它我需要更改我的$ app-&gt;转到
$app->get('/link/', function() {
是否有任何方法可以使用RewriteEngine而不是重写Silex路由(保留为“/”)? 我做错了什么?
答案 0 :(得分:0)
如果将Silex放在子目录中,则需要额外的.htaccess RewriteCond用于目录,请尝试:
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /link/application
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
</IfModule>
如果您的服务器运行的是Apache&gt; = 2.2.16,则可以使用FallbackResource:
FallbackResource /kit2/bootstrap.php
而不是.htaccess中的上述代码。