核心配置文件: #vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf ^www.111.com$中的^和$更明确的定义了域名 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} !^www.111.com$ RewriteRule ^/(.)$ http://www.111.com/$1 [R=301,L] //如111.com/123.php ,^表示除去域名之外的后半部分,.就是中间的/,(.)表示123.php,$1表示括号中的内容,(R=301,L)跳转完成之后定义状态码,要想让它永远重定向,把它权重提升,把原来域名的权重降低增加到新的域名上去,状态码就定义为R=301,R表示只跳一次结束,即last的意思;R=302表示是临时重定向,但是它不会把原来的域名权重降低 </IfModule> 修改完配置文件,需要先检测再加载 #/usr/local/apache2.4/bin/apachectl -t //检测配置文件语法 #/usr/local/apache2.4/bin/apachectl graceful //重新加载 #/usr/local/apache2.4/bin/apachectl -M |grep rewrite //测试之前先检查有没有加载rewrite模块 #vi /usr/local/apache2.4/conf/httpd.conf 找到 LoadModule rewrite_module modules/mod_rewrite.so 这一行把#删掉 #/usr/local/apache2.4/bin/apachectl -t //检测配置文件语法 #/usr/local/apache2.4/bin/apachectl graceful //重新加载 #/usr/local/apache2.4/bin/apachectl -M |grep rewrite #cat /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //查看配置文件 #curl -x127.0.0.1:80 2111.com.cn //返回结果301状态码 #curl -x192.168.238.150:80 2111.com.cn -I //返回状态码为301 状态码提示403是因为# vi /usr/local/apache2.4/conf/httpd.conf配置文件中的Require all granted(granted是授权的意思)这一行没有修改,还是原来的Require all denied,如果这一行是denied就会报403状态码