首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Silex路由,htaccess

Silex路由,htaccess
EN

Stack Overflow用户
提问于 2013-12-10 04:32:40
回答 1查看 668关注 0票数 1

我像这样使用htaccess,

代码语言:javascript
复制
RewriteEngine On
RewriteBase /link/application/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]

在/ index.php /文件夹中使用如下简单的应用程序

代码语言:javascript
复制
<?php

require_once __DIR__ . '/../framework/autoload.php';

$app = new Silex\Application();
$app['debug'] = true;

$app->get('/', function() {
    return 'Hello!';
});

$app->run();

当我试图访问localhost/link时,Silex会给我一个错误

代码语言:javascript
复制
NotFoundHttpException: No route found for "GET /link/"

因此,要修复它,我需要更改我的$app->

代码语言:javascript
复制
$app->get('/link/', function() {

有没有什么方法可以使用RewriteEngine而不重写Silex路由(保留为"/")?我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2013-12-10 11:23:52

如果Silex放在子目录中,则需要目录的附加.htaccess RewriteCond,请尝试执行以下操作:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
FallbackResource /kit2/bootstrap.php

而不是.htaccess中的上述代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20480158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档