2012-03-19 12 views
2

に動作しないルーティングが私は最初のルートが適切にマッチングさfollows-FatFree生産

F3::route('GET /', 'Main->get_front_page'); 
F3::route('GET /login/check_for_login', 'Login->check_for_login'); 

などの多くのルーティングパスを持つアプリケーションを有します。しかし、2番目のルートは一致していません。私は404を取得しています。最初のルートの後のどのルートも一致しません。

問題をさらに複雑にするために、すべてのルートがローカルマシン上で動作しています。

+0

サブディレクトリまたはメインサイトとして使用していますか? –

+1

私はそれをサブディレクトリとして使用しています。しかし、私はこの問題を解決しました。私のrewrite_modは正しく動作しませんでした。コマンドen2modは機能しません。 AllowOverrideを手動で変更する必要があります。私は自分のlocalhostでそれをしていたことを忘れてしまった。 – Siddharth

答えて

3

apache .htaccessファイルを確認してください。特にRewriteBaseのURL。私はしばしばこれを忘れる傾向があります:)

+1

私の.htaccessファイルが でRewriteBase/ するRewriteCond%{REQUEST_FILENAME}!-f するRewriteCond%{REQUEST_FILENAME}でthis- RewriteEngineのように見えます! のRewriteRuleを-d。* index.phpを[L、QSA] 私も使用しています私のlocalhost上の同じ.htaccessファイル。 – Siddharth

+0

提供できるログ/エラーメッセージはありますか? – egis

+1

このエラーはerror.logにあります。 - [Mon Mar 19 12:23:56 2012] [エラー] [クライアント122.169.95.17]ファイルが存在しません:/ var/www/login、referer:http:// db .educateglobal.org/ これは何を意味するのですか?なぜそれはそのようなファイルを探していますか? – Siddharth

0

共有ホスティングの場合、fatfreeフレームワークの配備はローカルサーバーのようには機能しません。だから、上記のコードを使用して.htaccessファイルを作成し、無脂肪のフレームワークプロジェクトのルートにファイルを配置

# Enable rewrite engine and route requests to framework 
RewriteEngine On 

# Some servers require you to specify the `RewriteBase` directive 
# In such cases, it should be the path (relative to the document root) 
# containing this .htaccess file 
# 
# RewriteBase/

RewriteRule ^(tmp)\/|\.ini$ - [R=404] 

RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php [L,QSA] 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] 

.htaccessファイルを作成する必要があります。私はこれを試して、うまく動作します。