2017-08-28 24 views
2

我可以通過某個IP地址訪問我的網站,我將實施REST服務。我有一些執行數據庫操作的PHP文件,我從客戶端調用它們。我使用的Linux操作系統Ubuntu作爲服務器,到目前爲止,我可以這樣做:REST服務的重定向網址

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

我能做到上面的,因爲裏面的/ var/www/html等我有一個叫api文件夾包含另一個文件夾called創建。 create擁有文件index.php,以便我可以忽略它並執行上面可以看到的URL。

這工作正常,但我不認爲這是做到這一點的正確方法。我是新來的,所以我不知道該怎麼做。經過一些研究後,我發現我的目標很可能通過.htaccess文件使用url重寫來實現,但我不確定。

我該怎麼做?我是否必須將所有php文件放在一個文件夾中,然後使用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重定向?

我看到,網站提供他們的API使用www.domain.com/api/something/?data=Valuewww.domain.com/api/something/dataAbout/。他們是否按照我對.htaccess所說的做了什麼?我希望我已經很好地解釋了我的問題。

的htaccess:

​​

這裏面的/ var/www/html等我有API裏面的/ home /用戶名/ API。

感謝艾瑪

回答

3

做這樣的:

  1. 在一個文件夾files/子目錄create.phpdelete.phpview.php等創建PHP文件(重命名每一個人index.php文件,你提到)。
  2. 遠離api目錄位於站點根外的某處。

一旦在/var/www/html/做以下使用.htaccess文件:

​​

然後使用新的網址爲:

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和。我對麼? –

+0

我有/ var/www/html/files /裏面有create.php,delete.php等等。我也有/ 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編輯一些已存在的用戶信息。

希望它對你有所幫助。