2017-08-28 10 views
2

私は特定のIPアドレスで私のウェブサイトにアクセスすることができ、私はRESTサービスを実装しようとしています。私は、データベース上でアクションを実行するいくつかのPHPファイルを持っており、私はそれらをクライアントから呼び出しています。私は、サーバーとしてのLinuxのUbuntuを使用していますが、これまでのところ、私はこれを行うことができます。RESTサービス用のURLをリダイレクト

http://xxx.xxx.xxx.xxx/api/create/?id=someId&val=someValue 
http://xxx.xxx.xxx.xxx/api/delete/?id=someId 

内部の/ var/www/htmlと設定、私は別のフォルダcalledが作成含まapiという名前のフォルダを持っているので、私は上記を行うことができます。 createはファイルindex.phpを作成しますので、上記のURLを省略して実行することができます。

これはうまくいきますが、これは適切な方法ではないと思います。私はこれで新しいので、私は何をすべきか分からない。いくつかの研究の後、私の目標はおそらく.htaccessファイルのURL書き換えを使用して達成されていることがわかりましたが、わかりません。

どうすればいいですか?すべてのPHPファイルを1つのフォルダに入れてから、htaccessファイルを使用する必要がありますか? (^


(^)より正確には:代わりにこの

http://xxx.xxx.xxx.xxx/api/create/index.php?id=someId&val=someValue 
http://xxx.xxx.xxx.xxx/api/delete/index.php?id=someId 
//and so on with other actions... 

を有していると私は

すべて含む
http://xxx.xxx.xxx.xxx/files/ 

のようなフォルダを作成する必要がありますか私のPHPファイル(create.php、delete.php、view.php ...)と、リダイレクトするhtaccessを使用しますか?

このウェブサイトでは、www.domain.com/api/something/?data=Valueまたはwww.domain.com/api/something/dataAbout/を使用してAPIを提供しています。彼らは私が.htaccessについて言ったことをしていますか?私は私の問題をよく説明してくれることを願っている。

htaccessファイル:

​​

これは、内部の/ var/www/htmlと設定され、私はAPI内部での/ home /ユーザー名/ APIを持っています。最初に

おかげエマ

答えて

3

はこのようにそれを実行します。

  1. (個々のindex.phpファイルの名前を変更することで、あなたが言及した)create.phpdelete.phpview.phpなどとしてフォルダfiles/サブディレクトリにPHPファイルを作成します。
  2. apiディレクトリをサイトルートの外側のどこかに移動します。

ことが/var/www/html/で.htaccessファイル次利用を完了すると:

​​

その後、新しいURLを使用する:

http://xxx.xxx.xxx.xxx/api/create?id=someId&val=someValue 
http://xxx.xxx.xxx.xxx/api/delete?id=someId 
+1

ありがとうございました! :)私は/ var/www/html/files /にphpファイルを作成していますので、ここにphpファイルを入れます。次に、.htaccessと.htaccessを適用するだけです。私は正しいですか? –

+0

私はcreate.php、delete.phpの中に/ var/www/html/files /を持っています。私は/ var/www/html/other/apiも持っていますが、動作しません。 htaccessファイルは適切ですか? htaccessは/ var/www/html/ –

+0

にあります上記の私のコメントを見てください。その後、私はhttp://192.168.0.216/files/create/を数字にしますが、私はエラーがあります。 30分後にもう一度チェックします:) –

0

、これはRESTfulなAPIを作成するための正しい方法ではありません。私の提案は、ベストプラクティスの記事を読むことです。

CREATEとDELETEフォルダを作成しないでください。 HTTPアクションを使用する必要があります。

新しいレコードを作成するには、POSTを使用する必要があります。例では、POST /userで、本文にはユーザーの情報が渡されます。

別の例では、異なるHTTPメソッドを使用して同じルートを使用することができます。DELETE /user/1はユーザーを削除し、PATCH /user/1は既に存在するユーザーの情報を編集します。

願っています。

関連する問題