![Nginx 将根目录中的 wp-admin 重定向到子文件夹中的 wp-admin](https://linux22.com/image/766719/Nginx%20%E5%B0%86%E6%A0%B9%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%20wp-admin%20%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%E5%AD%90%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E7%9A%84%20wp-admin.png)
我正在子文件夹中运行多站点以方便使用多种语言。
我的托管服务提供商使用以下 Nginx 配置来修复多站点环境的 /wp-admin/ 指令:
if (!-e $request_filename) {
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
rewrite ^(/[^/]+)?(/wp-.*) $2 last;
rewrite ^(/[^/]+)?(/.*\.php) $2 last;
}
没有定义主子站点,因此我设置了根 URL 到主语言子文件夹的重定向:
location = / {
return 301 https://$host/nl/;
}
对没有子文件夹的域的所有请求都将重定向到主子文件夹(/荷兰/)。这一切似乎都运行良好,除了/可湿性粉剂-管理员/url。我尝试了所有我能想到的正则表达式匹配模式来重定向/可湿性粉剂-管理员/到/nl/wp-admin/在保持现有/nl/wp-admin/和/en/wp-admin/URL,但似乎不起作用。有一次我能够重定向/可湿性粉剂-管理员/到/nl/wp-admin/,但这导致 /en/wp-admin/ 也被重定向到/nl/wp-admin/。
所以我的问题是;我可以使用什么正则表达式来匹配/可湿性粉剂-管理员/仅当从根路径请求时?
期望结果是:
/wp-admin/ > /nl/wp-admin/
/nl/wp-admin/ > do nothing
/en/wp-admin/ > do nothing