首页 > 解决方案 > 尝试重写 wordpress / nginx / WPML 安装的 URL

问题描述

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

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

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

我尝试了几件事,最终我陷入了困境:

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

这在两个 URL 上都会出现 404 错误。

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

标签: wordpressnginxurl-rewritingwpml

解决方案


...有没有更好的方法来做到这一点

可能,是的。您可以将 WordPress 安装在根目录而不是子目录 ( /blog) 中,或者将域指向子目录。这将为您提供类似的网址maindomain.com

然后,您可以将 WPML 中的语言 URL 设置设置为“目录中的不同语言”。这将为您提供诸如maindomain.com/es/. 最后,您可以blog在 WordPress 中使用 slug 创建一个页面(您应该能够为翻译设置相同的 slug),并且可以在maindomain.com/blog或访问它maindomain.com/es/blog


推荐阅读