我有一个传统的WordPress博客,只在PHP 5.2中运行(在以后的版本中有很多不兼容的地方(,我正在开发一个新的Wordpress博客,应该在PHP 7中运行。
要求是新博客的URL为foo.example
,并且旧版将在foo.example/bar
由于不同的PHP版本,每个版本都托管在不同的机器上。到目前为止,我得到的最接近的是有一个指向旧博客的子域bar.foo.example
,但无法foo.example/bar
做同样的事情(甚至不知道是否有可能(。
我很乐意感谢这项任务的一些帮助,并且我对新的替代方案持开放态度。
根据您服务器的软件,我知道您可以像在NGINX中那样做一些事情:
server {
server_name domain.tld;
root /var/www/wordpress;
index index.php;
...
location / {
try_files $uri $uri/ /index.php?$args;
}
location /bar/ {
root /var/www/wordpress-legacy;
try_files $uri $uri/ /index.php?$args;
}
...
}
您不能根据请求路径真正指向不同的服务器 - 域将始终指向一台服务器(至少从用户的角度来看(。但是,这一个服务器可以用作代理并从正确的服务器提供内容。潜在的解决方案:
- 在这两个服务器前面放置一个负载均衡器 - 请参阅 HAProxy - 具有负载平衡的基于 URL 的路由。
-
将新服务器配置为代理,以便为子目录提供来自旧服务器的内容。例如,通过使用NGINX反向代理:
location /bar/ { proxy_pass http://legacy.foo.example/bar/; }