我正在创建一个API,所有内容都在文件中处理,所以这里的示例网址可能是什么样的。
https://website.com/api/?type=search&user=bob
我希望转变为
https://website.com/api/search/bob
但现在这是这个问题的另一部分。我有另一个type
,这是CSRF
https://website.com/api/?type=csrf
那就是
https://website.com/api/csrf/
请注意,它的一个参数很短,但仍在使用相同的文件。我尝试过的任何东西似乎都无法正常工作。此外,\
文件似乎总是添加了api
。我已经从那里删除了.php
。
所以当我尝试这个时它不起作用。有什么想法吗?
rewrite ^/([a-zA-Z0-9_-]+)/([0-9]+)$ /api/?type=$1&user=$2;
答案 0 :(得分:0)
您的问题似乎是您使用$2
作为用户名,这与正则表达式中的([0-9]+)
相对应。
这意味着,用户名必须只是数字。
将表达式更改为:
rewrite ^/([a-zA-Z0-9\_\-]+)/([a-zA-Z0-9\_\-]+)$ /api/?type=$1&user=$2;
你的规则应该有效。