如何使用相同域的不同/服务器?

Neo*_*Neo 8 php subdomain wordpress server

我有一个foo.com关于wordpress 的网站,我想这样做foo.com/mexico,每个城市使用相同的域名进行foo.com/venezuela不同/server的交付(没有wordpress多站点).

我不是要求按城市检测ip,而是要检测服务器和/或域/ DNS配置.

我知道还有其他方法可以做到这一点,但想知道这个.

这是一个例子:

http://www.vice.com/pt_br

http://www.vice.com/es_co


编辑解决方案

这是我的解决方案:

  1. 创建一个子域,example.foo.com指向另一个服务器.
  2. 在主服务器上创建一个文件夹,其中包含我想要的链接名称,例如'mexico'
  3. 在这个文件夹里面创建了一个.htaccess:

    RewriteEngine ON
    RewriteCond%{REQUEST_URI} ^/mexico RewriteRule ^(.*)$ http:// example.FOO.com/$ 1 [R = 301,L,P

这适合我.如果我想要另一个/server我只是重复另一个名字,例如'venezuela'.子域名将被.htaccess隐藏,这个'example.foo.com'看起来像'foo.com/venezuela'.

ipp*_*ppi 8

你所描述的是反向代理.

可以使用apache的扩展mod_proxy进行设置.就个人而言,我没有触及过这个问题,但我的看法答案是建议你看看nginx.这是一个简单的反向代理.您可以轻松地在apache之前运行nginx,拦截请求并将它们传递到不同的服务器或直接发送html文件.

nginx-config可以像下面这样简单:

server {
    listen       80;
    server_name  example.org  www.example.org;
    location /mexico/ {
        # We could have an apache server running on another port...
        proxy_pass http://127.0.0.1:8000;
    }
    location /venezuela/ {            
        proxy_pass http://123.123.123.123:8000;  # ...or another server.
    }
    location /bulgaria/ {
        # Or just serve some static files 
        # In apache, do you set up a virtual host for this? christ.
        root /var/www/static_html;

        # If static html is all you have, what is apache even doing 
        # on your server? Uninstall it already! (As I said; opionated!)
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:几年后找到我自己的答案,我只想补充一点,OP选择使用的301重写规则增加了浏览器在重定向到真实地址之前必须等待的另一个请求.301请求至今仍被认为是糟糕的SEO,并增加了一些(通常是次要的)加载时间.


Wad*_*ade 3

您将需要使用子域,并在域注册商处设置 A 记录,以将每个子域映射到不同的服务器。

这是一个相关的SO问题。请注意,它已关闭,但所选答案正是您想要的:不同主机上的子域

one.yourdomain.com --> 指向 ServerA

Two.yourdomain.com --> 指向 ServerB

GoDaddy 网站上也有信息。如果您不使用 GoDaddy,流程将类似:https://support.godaddy.com/help/article/4080/managing-a-domain-names-subdomains

您进入域名注册商,可以在其中编辑域名设置。它可能与 DNS 相关。您想要添加新的“A 记录”。

有些注册商只是让您输入“yoursubdomain”、服务器的 IP 和 TTL(生存时间)。

因此,请输入第一个域名的子域名、您希望其指向的服务器的 IP 以及 TTL(如果有要求),通常为 3600。

然后添加另一个“A 记录”,仅适用于您的其他子域、该服务器的 IP和 TTL。

对您需要的任意数量的子域和服务器重复此操作。