0
我拼命嘗試構建一個類似API的REST。因此,我創建了一個.htaccess文件,它應該根據請求方法將請求重定向到正確的文件。apache htaccess多個http方法條件
我設法讓GET和POST請求工作正常,但是當我嘗試添加第三個請求方法(如PUT或DELETE)時出現問題。
這是我的htaccess(短路):
#######################
# GET DATA URIs
#######################
RewriteCond %{REQUEST_METHOD} =GET
##### EMPLOYEE
# Load all employees
RewriteRule ^rest/employee$ /moduls/employee/rest/get/get_all.php
# get all data form a specific employee
RewriteRule ^rest/employee/([0-9]*)$ /moduls/employee/rest/get/get.php?id=$1
# And the employee sub resources
# BASE DATA
RewriteRule ^rest/employee/([0-9]*)/base_data$ /moduls/employee/rest/get/base_data.php?id=$1
# CONTRACT DATA
RewriteRule ^rest/employee/([0-9]*)/contract$ /moduls/employee/rest/get/contract.php?id=$
#######################
# CREATE DATA URIs
#######################
RewriteCond %{REQUEST_METHOD} =POST
# REST URLs for employee
# Add new employee
RewriteRule ^rest/employee$ /moduls/employee/rest/add.php
#######################
# EDIT DATA URIs
#######################
RewriteCond %{REQUEST_METHOD} =PUT
##### EMPLOYEE
RewriteRule ^rest/employee/([0-9]*)/base_data$ /moduls/employee/rest/edit/base_data.php?id=$1
當我開始rest/employee
這取決於其上執行腳本的方法的請求。這工作正常,但是當我嘗試使用PUT請求加載/rest/employee/XXX/base_data
時,apache總是將我重定向到允許GET請求時應執行的腳本。
我很新爲.htaccess並不能看到那裏的錯誤是: -/
好,首先感謝您的關注。它有點困難。程序在每個腳本之間真的很嚴格。每個文件都有一個目的。他們共享很多代碼(由於大小的原因只是必須的),也是模塊設計的一部分,但那不是問題的關鍵;)任何想法可能會在上面發生什麼? – mercsen