nginx-将URL参数重写为路径

时间:2019-12-02 14:10:10

标签: nginx url-rewriting

因此,从使用URL参数指定站点语言更改为使用路径后,我们遇到了WPML的SEO问题。 Web服务器正在运行nginx。

之前:

  

example.com/?lang=fr

     

example.com/example-path/?lang=fr

之后:

  

example.com/fr /

     

example.com/fr/example-path /

所以我想做的是将遵循旧URL格式的所有URL重定向,包括根/到新格式。此过程应去除URL中的所有URI参数,并将其替换为相应的路径。

我联系了WPML的同事,他们不知道该怎么做。

我尝试了两种不同的方式:

location = / {
   if ($args ~ "^lang=(fr)") {
        set $key1 $1;
        rewrite ^.*$  /fr last;
        }
}

以及:

rewrite ^/.*\?lang\=fr$ /index.php? permanent;

但是不幸的是,据我所知,这两个似乎都不起作用。我对regex确实很熟悉,但是由于某些原因,我很难进行这些nginx重写。

令我惊讶的是,nginx文档和google中几乎没有关于重写URL参数的示例。关于如何实现的任何想法?

谢谢!

0 个答案:

没有答案