2013-02-10 45 views
0

我建立了一个项目,该微架构Silex的,在我的本地 我使用Apache 2.2.22 这里的结构:URL重写的Silex

/var/www/ProjectName/ 
    vendor/ 
    web/ 
     .htaccess 
     index.php 

在我.htacces有是:

FallbackResource /index.php 

的主页完美的作品,但是当我尝试去到需要URL重写页面时,我得到了一个404 这里是第二控制器代码:

$app->get('/view/{token}', function (Request $request, $token) use ($app, $db) { 
    echo 'ok';exit; 

    return $app['twig']->render('home.twig.html'); 
}) 
->bind('view'); 

我该怎么做?

+0

你使用Apache 2.2.16?你是从本地主机还是子路径查询?你的webroot,web文件夹是什么? – mpm 2013-02-11 01:30:26

+0

那么,我不是一个硅谷专家,但错误可能来自您的控制器。你之前运行'exit',你的'return'语句永远不会被命中。所以你的bind()调用可能无法按预期的方式工作...... – cheesemacfly 2013-02-11 01:32:41

+0

你是否在FallbackResource指令中没有前导'/'尝试? – Maerlyn 2013-02-11 05:06:09

回答

0

我解决我的问题,它有无关Silex的。 我只是忘了改指令 的AllowOverride无到有的allowOverride所有在/ etc/apache2的/网站可用/默认

<Directory /var/www/> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
    allow from all 
</Directory> 
0

的根目录是在在/ var/WWW,该项目是在/ var/WWW /项目名/ 网络

我试图本地主机/项目名/ view/randomtoken

您应该访问您的项目w第i个

本地主机/项目名/ 网络 /视图/ randomtoken

+0

这就是我第一次尝试,但它不工作:( – 2013-02-21 18:13:26