0

私が行くとき

http://localhost/api/auth/login

期待どおりの結果が得られます。ログインできるデータがいくつかあります。

しかし、私が行くとき

http://myurl.com/api/auth/login

私はただ得る

{
    "error": {
        "code": 404,
        "message": "Not Found"
    }
}

現在、このプロジェクトに取り組んでいるのは2人ですが、ローカルマシンから実行する場合は、どちらも問題はありません。自分のマシンの外でアプリのテストを開始できるように、ホストされたサーバーにアプリを配置するところまで来ています。

コードは同じですが、サーバーもプルしているgitリポジトリを使用しているため、これを知っています。

私のマシンはMacで、バディはWindowsマシンで、ホストはLinuxボックスです。それらはすべてRestler3の要件であるmod_rewriteで動作するはずなので、これは実際には問題ではありません。

私が考えることができる他の唯一の詳細は、サーバーがPHP5.4.7を実行しているHostMonsterによってホストされているということです。

どんな助けでも大歓迎です。もっと情報が必要ですか?

===編集:これは私の.htaccessファイルです。また、サーバーはmod_phpではなくCGI/FastCGIを実行します

Options -MultiViews
DirectoryIndex index.php
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^$ index.php [QSA,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
<IfModule mod_php5.c>
    php_flag display_errors Off
</IfModule>

'fastcgi mod_rewrite'をグーグルで検索しましたが、これらのリンクはどれも役に立ちませんでした:P

4

1 に答える 1

2

このような問題に遭遇したときは、最初にURLを書き換えずに試してください

それ以外の

http://myurl.com/api/auth/login

試す

http://myurl.com/api/index.php/auth/login

それが機能する場合は、問題がURLの書き換えにあることがわかります

CGI / FastCGIを使用しているので、設定済みであることを確認してください

cgi.fix_pathinfo=0

php.iniでは、パス情報がRESTlerに適切に渡され、RESTlerがルートを見つけられるようになります。

URLのindex.phpで機能しない場合は、routes.php以下で説明するように生成と検証を試すことができます

ルート.php

Restlerは、デバッグモードで実行するたびに、すべてのapiメソッドとそのドキュメントコメントを調べて、それに応じてルートを生成します。本番モードで実行すると、routes.php内の情報をキャプチャし、毎回ルートを生成する代わりにそれを使用するため、効率が向上します。

本番モードでRESTLERを初期化し、呼び出しごとに更新することで、生成されたルートを確認できます

$r = new Restler(true, true); 

次に、生成されたものを確認しますroutes.php

routes.phpルートが含まれていない場合は、次のように表示されます

<?php $o = array();

// ** THIS IS AN AUTO GENERATED FILE. DO NOT EDIT MANUALLY ** 
return $o;

これがあなたの場合である場合、それはオートローダーがAPIクラスのロードに失敗していることを意味します。APIクラスを手動で含めることで確認できます

動作し始めたら、githubの問題を使用してバグを報告し、オートローダーがサーバー構成で失敗していることを示し、再現して修正できるように詳細をお知らせください。

それでも機能しない場合は、サーバー構成について言及しているgithubの問題を使用してバグを報告し、再現して修正できるように役立つ詳細をお知らせください。

よろしくお願いします。Restlerコミュニティを支援するために、上記に基づいたトラブルシューティングガイドも作成します:)

于 2012-10-29T06:04:04.157 に答える