2013-02-10 47 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