展开
当前位置:
首页 > 帮助文档 > 解决方案 > apache环境下.htaccess伪静态301重定向(带www和不带www)

apache环境下.htaccess伪静态301重定向(带www和不带www)

我们知道最普遍的域名形式为带www前缀的,如阿里云代理网  www.aliyunc.com ,

但有的时候客户输入的网址是 aliyunc.com ,也就是说www.aliyunc.com和aliyunc.com对应的是一个网站。

但是这样对网站的seo优化是不利的,搜索引擎会认为这是两个网站,造成分权。

一般而言,我们使用的301跳转就是WWW与不带WWW域名之间的跳转,用行话说就是权重要归一。

对于我们使用Apache环境的来说其实相对nginx比较简单,因为只需要我们开启网站的伪静态。

打开apache的配置文件httpd.conf
找到

#LoadModule rewrite_module modules/mod_rewrite.so

把前面#去掉。没有则添加,但必选独占一行,使apache支持 mod_rewrite 模块

找到

<Directory "D:/ApacheServer/web">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

</Directory>

把 AllowOverride None 换成 AllowOverride All 使apache支持 .htaccess 文件

重启apache服务器

在要启用伪静态的 PHP 项目根目录下建立 .htaccess 文件。

之后我们编辑.htaccess

第一,带www的跳转至不带www域名

RewriteEngine On
RewriteCond %{HTTP_HOST} !^aliyunc.com$ [NC]
RewriteRule ^(.*)$ http://aliyunc.com/$1 [L,R=301]

第二,不带www的跳转至www域名

RewriteEngine On
RewriteCond %{HTTP_HOST} ^aliyunc.com [NC]
RewriteRule ^(.*)$ http://www.aliyunc.com/$1 [L,R=301]

一般就是用到上述的2个方法,记不住没关系,可以记录下来,下次要用直接复制过去使用。

另外如果需要网站搬家,老域名全部301跳转到新站点:

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

更多 网站问题 >> 阿里云代理网

阿里云代理网,享受阿里云代理价

apache环境下.htaccess伪静态301重定向(带www和不带www):等您坐沙发呢!

发表评论

表情
还能输入210个字