时间:2021-05-19
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,并将原来的服务器上的ApacheRewrite到SiteX.TB.com,访止部分用户缓存了DNS,导致仍然访问原服务器。
Rewrite写法大致如下:
复制代码 代码如下:#加载mod_rewrite
LoadModulerewrite_modulemodules/mod_rewrite.so
#打开mod_rewrite
RewriteEngineOn
#开启Log(用于调试)
RewriteLog"logs/rewrite.log"
RewriteLogLevel9
#只将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配置了虚拟主机的话,这个配置应写入默认虚拟主机的配置。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1、首先,让apache服务器支持rewrite可以在apache配置文件中定义rewrite规则,是全局的,无论哪个应用都实用//httpd.configLi
apache开启重定向rewrite的实现方法1.开启重定向模块$ln-s/etc/apache2/mods-available/rewrite.load/et
1.利用rewrite确认你的apache能使用rewritemodRewriteEngineonRewriteCond%{HTTP_REFERER}!^htt
第一步:确认网站开启REWRITE规则一般有两种情况:i.apache安装的时候已经包含rewrite功能ii.后续配置的时候新添加mod_rewrite.so
结果点击一个链接直接404NotFound。悲剧,看来Apache的Rewrite部分有问题了,完全无视掉了.htaccess文件!经过检查Apache的模块,