Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 1域。。2台服务器和2个应用程序_Linux_Dns_Wildcard - Fatal编程技术网

Linux 1域。。2台服务器和2个应用程序

Linux 1域。。2台服务器和2个应用程序,linux,dns,wildcard,Linux,Dns,Wildcard,我在服务器一上有一个类似twitter.com的网站,在服务器二上有论坛,路径类似于domain.com/forum 在服务器1上,我想实现通配符dns并将主域放在上面。但在服务器2上,我想把论坛分开,我不能给sub-domain forum.domain.com,因为它的所有链接都已经放在搜索引擎中,并链接回domain.com/forum 所以我想知道,我怎样才能将域和通配符dns放在服务器1上,并且仍然能够在服务器2上为domain.com/forum提供路径(作为子文件夹) 有什么想法吗

我在服务器一上有一个类似twitter.com的网站,在服务器二上有论坛,路径类似于domain.com/forum

在服务器1上,我想实现通配符dns并将主域放在上面。但在服务器2上,我想把论坛分开,我不能给sub-domain forum.domain.com,因为它的所有链接都已经放在搜索引擎中,并链接回domain.com/forum

所以我想知道,我怎样才能将域和通配符dns放在服务器1上,并且仍然能够在服务器2上为domain.com/forum提供路径(作为子文件夹)

有什么想法吗


你认为htaccess能做那项工作吗?如果是,那么怎么做?

如果你有两台服务器,除了使用重定向(最好是301永久重定向)将用户从
domain.com/forum
移动到
forum.domain.com
之外,你真的没有太多选择


唯一的其他方法是在这两台服务器前面放置一个反向代理,它读取URL并在内部将查询定向到正确的服务器,但这是一个额外的硬件。

您可以使用htaccess和mod_rewrite使domain.com/forum实际显示来自forum.domain.com的页面

也许是这样的:

Options +FollowSymLinks
RewriteEngine on
RewriteRule domain.com/forum/(.+) forum.domain.com/$1

您可以使用301重定向来确保搜索引擎使用您的新URL更新其索引,如下所示:

RewriteRule domain.com/forum/(.*) http://forum.domain.com/$1 [R=301,L]

简单-使用代理!如果您喜欢apache,那么出于您的目的,您一定会喜欢apache mod_proxy

<VirtualHost *:80>
    ServerName  maindomain.com
    ServerAlias *.maindomain.com

    # insert document root and general settings for this domain here
    # ...

    ProxyPass /forum http://forumdomain.com
    ProxyPassReverse /forum http://forumdomain.com
    ProxyPassReverseCookieDomain forumdomain.com maindomain.com
</VirtualHost>

ServerName maindomain.com
ServerAlias*.maindomain.com
#在此处插入此域的文档根目录和常规设置
# ...
代理通行证/论坛http://forumdomain.com
ProxyPassReverse/论坛http://forumdomain.com
ProxyPassReverseCookieDomain forumdomain.com maindomain.com
此配置使apache对您的内部域(forumdomain.com)执行HTTP请求,而无需通知用户浏览器的内部位置。您的论坛可访问http://*。yourdomain.com/Forum。论坛发送的cookie和标题将被相应地重写,搜索引擎将不会注意到您的后端服务器

你可以在

如果您需要重写html中的引用(href,src…),您可以在“mod_proxy_html”上搜索

当然,这样的解决方案也可以与其他智能代理服务器(如squid)一起构建。您可以使用它将任何内容从“后端服务器”映射到公共域。 确保路由正常,或者为您的内部域(forumdomain)设置一个主机条目,其internet ip地址为192.168

享受你的网站,并给出反馈结果:)


p、 s.“RewriteRule”指令可能会为您做同样的事情,但rdirect将由客户端可见(并执行),除非您指定“p”,使其执行内部代理请求。如果可用,我更喜欢mod_代理,因为它更通用,允许更多配置。

如果在服务器1上使用指向服务器2的代理,则会增加服务器1上的负载,因为所有流量都将通过它路由。此外,如果服务器1宕机,也没有人能够访问服务器2。当然,这是可能的,但这些都是需要考虑的


我建议无论如何为服务器2设置一个supdomain,比如forum.domain.com,并在服务器1上使用htaccess的mod_rewrite设置从domain.com/forum到forum.domain.com的301重定向。使用这种技术,您甚至可以将对特定链接的调用重定向到服务器2上相应的页面。搜索引擎将遵循301,并最终更新索引。

如果迁移到ServerFault,赏金是否会随之迁移?