我正在爲我的應用程序添加一個REST API。 REST API位於我的應用程序的/ api中。我想要正確路由所有請求,包括有參數的請求。我有一個正在大部分下面的htaccess規則:如何正確的重寫這個URL?
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [L]
</IfModule>
利用這些規則,我現在可以去: mysite.com/api/projects/get,它會正確地給我回JSON數據好像我會以常規方式訪問它mysite.com?url = url/project/get
我嘗試向請求添加參數時開始出現問題。 我的應用程序已經可以處理參數。所以,如果我要去:mysite.com/api/projects & type = 1,它會讓我回到類型1的項目。但是,我認爲這個URL看起來更像是:mysite.com/ api/projects?type = 1(注意代替&)
我該如何修改我的htaccess規則來處理這個問題?
我嘗試以下,但沒有運氣:
RewriteRule ^(.*)/?(.*)$ index.php?url=$1&$2 [L]
如果你正在做友好的URL並捕獲整個URI,那麼只需將它添加到最後而不是查詢字符串。 '/ api/projects/get/1',並且在你的代碼中你知道1的最後一個路徑是它的類型(如果它存在的話)。你應該停留在IMO的一種方法,而不是讓它複雜化。 –