如何在NGINX上重定向并将原始请求存储为POST变量?

时间:2019-03-04 00:43:41

标签: javascript php ajax nginx server

我正在尝试在NGINX上建立一个php网站。我要使用的功能是一种具有“扩展”部分的方法,而无需重新加载页面,但还可以将状态存储在URL中。一个例子是这样:

  1. 单击按钮以展开部分
  2. 节名,例如 resume ,将被放置在URL中:https://example.com/resume 但该站点不会重新加载
  3. 如果重新加载页面,则默认情况下会展开该部分
  4. 按下后退按钮或(X)按钮后,网址将恢复为https://example.com,并且页面返回到原始状态(无需重新加载)

我已经可以在JavaScript中使用history.state将其添加到url中,并且只要按一下按钮就可以使该部分扩展,但是我无法弄清楚允许重新路由所有请求的nginx配置将 / resume 和其他一些代码(例如 / projects / contact )返回index.php,并将请求用作变量PHP。

我很确定.htaccess可以做到这一点,但是我正在使用NGINX并尽力避免使用任何类型的htaccess文件。

我当前的NGINX配置是这样的:

server {
    server {
        root /var/www/example.com/html;
        index index.php index.html index.htm index.nginx-debian.html;

        server_name example.com www.example.com;

        location / {
                try_files $uri $uri/ =404;
        }

        error_page 404 /404.html;

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }

        location ~ /\.ht {
                deny all;
        }
}

谢谢!

0 个答案:

没有答案