欢迎来到资源库(www.zyku.net)

Windows

当前位置:首页 > 服务器教程 > Windows > 301

apache 将不带www的域名定向到带www的域名

时间:2015-11-22|栏目:Windows|点击:|我要投稿

首先我们在apache中用这个域名建立了两个虚拟主机,一个带www,一个不带。

然后我们将带www的正确解析到对应的网站上面,然后我们将不带www的域名解析到主机目录下面的一个文件夹里面,然后我们在这个文件夹里面放了一个index.php,我们利用php代码来做这个301。

php代码如下:
--------------------------------
<?php

Header("HTTP/1.1 301 Moved Permanently");
Header("Location:http://www.xxx.com") // 你要定向的域名
?>

------------------------------------

这样当用户访问不带www的域名的时候,就会访问这个文件夹下面的index.php,php就会执行301,将域名跳转到带www的域名,这个跳转的时间非常短,用户感觉不出来的。

另外修改Apache配置文件也可以达到同样的效果:

在网站根目录新建.htaccess文件,输入下列内容(需要开启mod_rewrite):

1)将不带WWW的域名转向到带WWW的域名下:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^zyku.net [NC]
RewriteRule ^(.*)$ https://file.zyku.net/$1 [L,R=301]

2)重定向到新域名:

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.baidu.com/$1 [L,R=301]

3)使用正则进行301重定向,实现伪静态:

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^news-(.+).html$ news.php?id=$1

将news.php?id=123这样的地址转向到news-123.html

另外一种方法就是在Apache下vhosts.conf中配置301重定向

为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置如下:

<VirtualHost *:80>
ServerName file.zyku.net
DocumentRoot /home/xxxxx
</VirtualHost>

<VirtualHost *:80>
ServerName zyku.net
RedirectMatch permanent ^/(.*) https://file.zyku.net/$1
</VirtualHost>

(资源库 www.zyku.net)

关于我们 | 版权申明 | 寻求合作 |

重要申明:本站所有的文章、图片、评论等内容,均由网友发表或上传并维护或收集自网络,仅供个人学习交流使用,版权归原作者所有。

如有侵犯您的版权,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:95148658 | 邮箱:mb8#qq.com(#换成@)

苏ICP备2020066115号-1

本网站由提供CDN加速/云存储服务