我有一个网站和一个子域名..
主网站托管于server A
,其子域名托管于server B
..
main website = server A
sub domain = server B
当我的流量很高时,我会将我的主网站重定向到我的子域名。
http://main-website.com redirects to sub.main-website.com
and
http://main-website.com/post1 redirects to sub.main-website.com/post1
我在主网站服务器中使用 htaccess 来执行此重定向...
我每秒将有 400 - 800 个请求发送到服务器 A(主网站服务器,其中包含用于重定向的 htaccess)
实际上,如果我将我的网站托管在那里,服务器就无法管理那么多请求。
因为我在服务器中只使用 htaccess 文件...它会影响服务器吗?
答案1
您的服务器 A 仍需解析请求、根据 .htaccess 规则对其进行测试并发送重定向响应。不过,与对您的网站代码执行命中相比,我认为这的影响要小得多。
此外,如果通过 302/303 重定向到子域,则来自同一用户的所有后续点击将立即转到服务器 B,因此每个新用户只会对服务器 A 产生一次点击,这应该可以忽略不计。
答案2
启用 .htaccess 后,Apache 将为每个请求查找 .htaccess 文件,这比仅使用配置文件(在 Apache 启动期间加载一次)要慢。
如果碰巧请求从较低级别的目录读取(例如 /myapp/file),Apache 还会在较高级别的目录中查找 .htaccess 文件(例如 /myapp/.htaccess 和 /.htaccess)。
您可以从中阅读更多内容Apache 文档
答案3
作为替代方案,我假设每台服务器都有不同的全局 IP 地址?如果您使用的是具有动态 DNS 支持和脚本更新支持的 DNS 解决方案,那么您应该能够根据负载动态更新 DNS。当然,您需要非常小心会话等,以确保用户数据在两台服务器上正确同步。
使用重定向(尤其是 302/303)的问题在于您需要监控两台机器上的加载情况,这可能会让用户陷入重定向循环。