我像这样使用htaccess,
RewriteEngine On
RewriteBase /link/application/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]在/ 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->
$app->get('/link/', function() {有没有什么方法可以使用RewriteEngine而不重写Silex路由(保留为"/")?我做错了什么?
发布于 2013-12-10 11:23:52
如果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 >= 2.2.16,则可以使用FallbackResource:
FallbackResource /kit2/bootstrap.php而不是.htaccess中的上述代码。
https://stackoverflow.com/questions/20480158
复制相似问题