2014-07-08 71 views
0

我剛開始嘗試使用無脂框架。我不明白我在這裏做錯了什麼。我有以下的代碼,我從他們的網站有:僅通過cli工作的無脂框架

$f3 = require('/var/tmp/fatfree-master/lib/base.php'); 
$f3->route('GET /', 
    function() { 
     echo 'Hello, world!'; 
    } 
); 

$f3->run(); 
?> 

當我使用CLI,像這樣的PHP的index.php它工作正常運行下面的代碼。但是當我嘗試去把它與一個瀏覽器,我收到以下錯誤:

Not Found 

HTTP 404 (GET /index.php) 

我不明白它是如何工作通過CLI命令行,而不是通過瀏覽器。任何人都遇到過這個?

+0

是'你的文檔根index.php'? – Phil

+1

你有沒有設置htaccess和重寫規則? https://github.com/bcosca/fatfree#sample-apache-configuration ..看起來像它默認嘗試找到該目錄的索引文件(index.php) – Ben

回答

1

忘掉你的URL中的任何PHP文件的一切。你不需要它們,也不會在任何URL中使用它們。所以,只需打開example.org/而不是example.org/index.php,它就可以工作。

還要確保,如由Ben在評論中提到,爲.htaccess正確配置如下所述:https://github.com/bcosca/fatfree#sample-apache-configuration

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule .* index.php [L,QSA] 
+0

真棒它的作品!但我怎麼能得到它去index.php工作,只有我問的原因是因爲如果我有一個鏈接內的網站,指出它不會工作。 –

+0

你可以通過'.htaccess'重定向。它可能看起來像這樣:'Redirect /index.php /'。另一種方式是,你在F3中創建一個新路線,例如'$ f3-> route('GET /index.php',function($ f3){$ f3-> redirect('/');}'。一個例子可能不會這樣工作 – sascha

+0

@Brad Hazelnut將index.php視爲通過Fat Free發出的所有請求的入口點您網站上的鏈接應該引用您配置的路由,例如/或/ blablah,但不應該需要以任何方式直接引用index.php。我想現在有意義:-) – nikolaosinlight