NGINX URL重写正则表达式模式不匹配

问题描述

经过一番摆弄之后,我有了一些进步。

class ChoicesView(BaseListView):
    paginate_by = 25

    def __init__(self,**kwargs):
        super().__init__(**kwargs)
        self.object_list = None
        self.term = None

    def get(self,request,*args,**kwargs):
        self.term = kwargs.get("term",request.GET.get("term",""))
        self.object_list = self.get_queryset()
        context = self.get_context_data()
        return JsonResponse(
            {
                "results": [
                    {"id": value,"text": name}
                    for value,name in context["object_list"]
                ],"more": context["page_obj"].has_next(),}
        )

    def get_queryset(self):
        return [(value,name) for value,name in self.queryset if self.term.lower() in name.lower()]


class LocationChoicesView(ChoicesView):
    queryset = COUNTRY_CITY_CHOICES

日志返回

                if ($query_string) {
                        rewrite /([^.]+)$ /$1.PHP$is_args$args break;
                }

但是重写仍然没有发生。有任何线索吗?


我目前正在将PHP应用程序从Apache移植到Nginx。希望在URL重写方面获得帮助

我正在尝试将/ xxx?param = value重写为/xxx.PHP?param=value

2020/10/31 14:51:17 [notice] 442849#0: *1 "/([^.]+)$" matches "/course/dfdfdf/dfsdfdsf",client: 220.255.213.94,server: xxx.com,request: "GET /course/dfdfdf/dfsdfdsf?dsfdsf=xxx HTTP/1.1",host: "xxx.com'

此重写代码在服务器块中,因为子目录中也有此类模式需要捕获。

Nginx无法捕获此模式。有人可以建议吗?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)