wordpress - 尝试重写 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 错误。
关于如何做到这一点的任何想法?或者除了重写之外还有更好的方法吗?
解决方案
...有没有更好的方法来做到这一点
可能,是的。您可以将 WordPress 安装在根目录而不是子目录 ( /blog
) 中,或者将域指向子目录。这将为您提供类似的网址maindomain.com
然后,您可以将 WPML 中的语言 URL 设置设置为“目录中的不同语言”。这将为您提供诸如maindomain.com/es/
. 最后,您可以blog
在 WordPress 中使用 slug 创建一个页面(您应该能够为翻译设置相同的 slug),并且可以在maindomain.com/blog
或访问它maindomain.com/es/blog
。
推荐阅读
- android - Handler Thread:每个线程只能创建一个 Looper
- java - 如何编辑文件中的行
- wordpress - 迁移 Wordpress 站点时 Apache2 失败
- sql-server - 从本地 SQL Server 数据库同步表的 Azure 限制
- python - 绘制DataFrame的两列时出现奇怪的图形
- eclipse - 如何在 Eclipse 的一个编辑器中合并 3 个文件
- javascript - 如何限制angularjs ng-repeat中的对象?
- javascript - 为 PHP 数组中的单个变量分配颜色
- c# - 尝试以编程方式使用 SQLite .import 命令时出现语法错误
- docker - 在 Docker 镜像名称中,Alpine、Jessie、Stretch 和 Buster 有什么区别?