微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。