【问题标题】:PHP custom routing with nginx使用 nginx 的 PHP 自定义路由
【发布时间】:2022-01-08 22:06:31
【问题描述】:

我在堆栈上阅读了类似的问题和答案,有各种各样的答案,但对我要达到的目标没有一个硬性定义。

我有一个用 PHP 编写的联系表格,它带有两个查询参数,定义了表格应该提交给哪个办公室和哪个部门。

https:///mylink.com/contact?office=NUMERICAL&department=NUMERICAL

以上将是执行此操作的传统方式,但是我希望我的链接采用这种格式。

https:///mylink.com/contact/NUMERICAL/NUMERICAL
location  ~ ^/contact/(.*)$ {
        if ($1 = false) {
            set $1 0;
        }
        proxy_pass   http://127.0.0.1:8000/contact/office?setting=$1;
}

上面的 nginx 位置块有效。但是,它似乎只支持一个参数,如果我尝试添加另一个参数,它就不起作用。在下面找到尝试添加另一个参数。

location  ~ ^/contact/(.*)$/(.*)$ {
        if ($1 = false) {
            set $1 0;
        }
        if ($2 = false) {
            set $2 0;
        }
        proxy_pass   http://127.0.0.1:8000/contact/office?office=$1&department=$2;
}

感谢您对 NGINX 初学者的耐心帮助。我怀疑这很容易实现,因为 nginx 非常强大,但我缺乏如何实现它的知识,并且在文档中找不到明确的方法。

【问题讨论】:

    标签: php nginx webserver


    【解决方案1】:

    幸运的猜测。

    location  ~ ^/contact/(.*)/(.*)$
    
     {
            if ($1 = false) {
                set $1 0;
            }
            if ($2 = false) {
                set $2 0;
            }
            proxy_pass   http://127.0.0.1:8000/contact/office?office=$1&department=$2;
    }
    

    【讨论】:

    • “幸运猜”是什么意思?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    • 1970-01-01
    • 1970-01-01
    • 2013-06-11
    • 2020-02-12
    • 2014-01-11
    相关资源
    最近更新 更多