我们在另一个 Linux 主机上备份了我们的网站 www.site.com。在 cpanel 中,该备份设置为 wwwt.site.com。但是没有为其分配域名。我们通过在 hosts 文件中添加 ip 地址和主机名来访问备份站点。
现在我们希望在不修改 DNS 的情况下,当用户输入 www.site.com 一小时内显示 wwwt.site.com。
如何将 www.site.com 的请求重定向到 wwwt.site.com ?
注意:我们在备份托管 IP 地址中有另一个实时网站,并且没有指向备份站点的域名
希望有人知道答案
答案1
使用 .htaccess 来避免 PHP 开销。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
答案2
实际上没有自动的方法来实现这个功能,但是,您可以简单地将 PHP 脚本添加到 www.site.com 以重定向到 wwwt.site.com
像这样:
<?php header('Location:http://wwwt.site.com/'); ?>
答案3
你的问题有点不清楚。
假设:
- www.site.com 和 wwwt.site.com 位于同一台本地机器上。
- www.site.com 有一个公共 IP 地址
- wwwt.site.com 没有公共 IP 地址,但在本地机器的 /etc/hosts 文件中有一个条目。
- 您的 Web 服务器是 Apache。
要求:
- 暂时从 www.site.com 提供 wwwt.site.com 服务
根据给定的假设,我建议使用带有代理扩展的 mod_proxy 或 mod_rewrite。
示例 1:
使用 mod_proxy 从 www.site.com vhost 提供 wwwt.site.com 服务
<VirtualHost *:80>
ServerName www.site.com
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://wwwt.site.com/ retry=0
ProxyPassReverse / http://wwwt.site.com/
</VirtualHost>
示例 2:
使用 mod_rewrite 从 www.site.com vhost 提供 wwwt.site.com 服务
<VirtualHost *:80>
ServerName www.site.com
RewriteEngine on
# The RewriteCond isn't necessary, but allows some flexibility.
# If the file exists - redirect requests, otherwise do nothing.
RewriteCond /var/www/redirect-reqs -f
RewriteRule ^/(.*)$ http://wwwt.site.com/$1 [P]
</VirtualHost>
希望这可以帮助。
答案4
agy,wwwt.site.com 位于不同的 Linux 托管服务器中,所有其他假设均正确。此服务器的 IP 当前托管另一个网站。因此使用http://ip将显示