重寫我試圖般的API創建一個簡單的「Hello World」爲此,我需要一個規則來重定向/ URL重寫我的API。重定向和NGINX
比方說,我的文件被稱爲index.php
,所以每當我做一個GET
到index.php
我得到的items
列表。
我要做的第一件事就是mydomain.com/index.php
重定向的URL mydomain.com/api
。
第二,當訪問mydomain.com/api
時,我希望服務器在不重寫URL的情況下觸發index.php
文件。
我當前的代碼如下所示:
location /api {
rewrite^$scheme://$host/index.php permanent;
}
location /index.php{
return 302 www.mydomain.com/api;
}
但預計它不工作。爲什麼以及如何修復它?
正是我在找什麼!謝謝! – marioshki
有條件和捕獲組有問題。這個?應該在捕獲組之後:重寫^/api(。+)?$ /index.php?$1 last;重寫^/index.php(。*)?$/api?$ 1 permanent; – alfredocambera
@alfredocambera不,實際上它應該放在組之前,因爲它與字面字符''''''匹配,而不是在index.php後面加任何內容。 – alexandernst