尝试重写 wordpress / nginx / WPML 安装的 URL

Trying to rewrite URLs for wordpress / nginx / WPML install

我有一些wordpress经验,但这是我第一次使用Nginx。我在 Nginx 上安装了 WordPress 运行。我添加了 WPML(多语言插件)https://wpml.org/

当前 URL 结构是 https://www.maindomain.com/blog/es/.... & https://www.maindomain.com/blog/en/...。等等。一切正常。

我正在寻找一种方法来重写 ninginx conf 中的 URLs,以便整个设置可以使用:https://www.maindomain/es/blog/.... instead of https://www.maindomain.com/blog/es/ 和等等。

我尝试了几件事,但最终还是卡住了:

rewrite ^/blog/en/(\w+\.?.*)$ /en/blog/ last;

两个 URL 都出现 404 错误。

关于如何做到这一点有什么想法吗?或者除了重写之外还有更好的方法吗?

...is there a better way of doing this

可能,是的。您可以将 WordPress 安装在根目录中,而不是子目录 (/blog) 或 point the domain to the subdirectory。这会给你 URLs like maindomain.com

然后您可以将 WPML 中的语言 URL 设置设置为“目录中的不同语言”。这会给你 URL 之类的 maindomain.com/es/。最后,您可以在 WordPress 中使用 blog slug 创建一个页面(您应该能够为翻译设置相同的 slug)并且可以在 maindomain.com/blogmaindomain.com/es/blog.