条件:www.abc.com和abc.com
需求一:
直接访问http://abc.com/mytest/my时页面不跳转
访问http://abc.com等其他地址时页面跳转至http://www.abc.com
解决方案:在apache的配置文件中,abc.com域下添加rewrite规则
<VirtualHost *:80>
ServerAdmin my@abc.com
DocumentRoot "/data0/htdocs/abc.com/info"
ServerName shiwan.com
ErrorLog "logs/shiwan.com-error_log"
CustomLog "logs/shiwan.com-access_log" common
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.shiwan.com [NC]
RewriteCond %{REQUEST_URI} !/mytest/my [NC]
RewriteRule ^.*$ http://www.abc.com [R,L]
</VirtualHost>
通过IE访问进行测试。不成功可以记录rewrite的日志
在abc.com的VirtualHost中添加
#RewriteLog /tmp/rewrite.log
#RewriteLogLevel 9
rewrite日志级别 0 表示默认不记录,9表示所有动作都记录
需求二:
只对abc.com的域名进行跳转,跳转至www.abc.com
诸如abc.com/tea abc.com/my/new.html等都不做跳转
RewriteCond %{HTTP_HOST} ^abc.com [NC]
RewriteRule ^/$ http://www.abc.com/ [L,R=301]
转载于:https://blog.51cto.com/5iwww/342795