我正在寻找一个动态解决方案来处理安装在子目录中的多个WordPress站点(节点)的永久链接。
这些站点可以使用这样的url访问(我使用
cluster
和
node
要表示结构,但每种情况下它们都不同,但它们始终遵循相同的结构,节点是包含WordPress根文件的目录):
https://www.domain.tld/cluster1/node1/
location /cluster1/node1/ {
try_files $uri $uri/ /cluster1/node1/index.php$is_args$args;
}
location /cluster2/node2/ {
try_files $uri $uri/ /cluster2/node2/index.php$is_args$args;
}
location /cluster3/node3/ {
try_files $uri $uri/ /cluster3/node3/index.php$is_args$args;
}
location /cluster4/node4/ {
try_files $uri $uri/ /cluster4/node4/index.php$is_args$args;
}
可以,但是有超过43个节点(不断变化)。所以,我尝试了以下几点:
location /([^/]+)/([^/]+)/ {
try_files $uri $uri/ /$1/$2/index.php$is_args$args;
}
显示
主页
正确,但是对于节点的页面显示404
https://www.domain.tld/cluster1/node1/page/
location ~ ^/([^/]+)/([^/]+)/ {
try_files $uri $uri/ /$1/$2/index.php$is_args$args;
}
但是这使得PHP文件作为一个名为
download
location ~ /([^/]+)/([^/]+)/ {
try_files $uri $uri/ /$1/$2/index.php$is_args$args;
}
和以前一样。
location ^~ /([^/]+)/([^/]+)/ {
try_files $uri $uri/ /$1/$2/index.php$is_args$args;
}
这使得
主页
该节点的下载与之前的尝试相同,但显示了404的节点页面(如
https://www.domain.tld/cluster1/node1/页面/
你知道为什么上面这些都不起作用吗?有什么建议让它起作用吗?