Apache里Rewrite内容分析
来源:爱站网时间:2020-10-12编辑:网友分享
很多人对Apache里Rewrite的内容都不是特别的了解,为了方便以后大家能够熟练操作,爱站技术频道小编为此整理了相关资料给大家,供大家参考参考下!
很多人对Apache里Rewrite的内容都不是特别的了解,为了方便以后大家能够熟练操作,爱站技术频道小编为此整理了相关资料给大家,供大家参考参考下!
最近公司要转移服务器,服务器上有几十个站点正在运行,希望转移的期间,服务不受影响,所以用Apache的mod_rewrite做了些处理.
大致环境是这样的,服务器有site[1-50].TA.com域名和site[1-50].TB.com域名,在开始转移服务器之前,先将site[1-50].TB.com指向新的服务器IP,同时,在新的IP上,运行Apache,将siteX.TB.com的访问Rewrite回TA.com,经过一天后,再将TB.com解析到新IP,同时,转移数据库和WEB服务到新IP,并将原来的服务器上的Apache Rewrite到SiteX.TB.com,访止部分用户缓存了DNS,导致仍然访问原服务器。
Rewrite写法大致如下:
#加载mod_rewrite
LoadModule rewrite_module modules/mod_rewrite.so
#打开mod_rewrite
RewriteEngine On
#开启Log(用于调试)
RewriteLog "logs/rewrite.log"
RewriteLogLevel 9
#只将siteX,demo,support开头的域名做Rewrite
RewriteCond %{SERVER_NAME} ^(site|demo|support) [NC]
#在URI前面加上主机名
RewriteRule ^(.+) %{SERVER_NAME}$1 [C]
#将这台服务器的所有xxx.TA.com/*转到xxx.TB.com/*
RewriteRule ^([a-z0-9]+)\.([0-9a-z\.]+)/(.*) http://$1\.TB\.com/$3 [NC,R,L]
LoadModule rewrite_module modules/mod_rewrite.so
#打开mod_rewrite
RewriteEngine On
#开启Log(用于调试)
RewriteLog "logs/rewrite.log"
RewriteLogLevel 9
#只将siteX,demo,support开头的域名做Rewrite
RewriteCond %{SERVER_NAME} ^(site|demo|support) [NC]
#在URI前面加上主机名
RewriteRule ^(.+) %{SERVER_NAME}$1 [C]
#将这台服务器的所有xxx.TA.com/*转到xxx.TB.com/*
RewriteRule ^([a-z0-9]+)\.([0-9a-z\.]+)/(.*) http://$1\.TB\.com/$3 [NC,R,L]
如果Apache配置了虚拟主机的话,这个配置应写入默认虚拟主机的配置。
对于以上内容,如果在操作过程中还有什么不明白的,可以来爱站技术频道网站给小编留言,小编一定会竭尽所能帮助你们解决难题。
上一篇:最适合IIS 6 PHP的配置