本版
查看: 8287|回复: 3

[环境搭建] Apache 301跳转

[复制链接]

Super Moderator

楼主(1#)
发表于 2012-8-27 22:29:14 | 只看该作者 |只看大图 |倒序浏览 |阅读模式

本问将实现,在Apache配置文件中实现301跳转,在.htaccess文件中实现301跳转;主域名301重定向到www二级域名。

1. Apache模块 mod_alias的 Redirect 和 RedirectMatch命令

上面提到2个命令使用方法相似。而区别就是后者RedirectMatch基于正则表达式匹配对当前的URL发送一个外部重定向语法为:

Redirect [status] URL-path URL
RedirectMatch [status] regex URL

status参数可以使用以下HTTP状态码:
permanent
返回一个永久性重定向状态码(301),表示此资源的位置变动是永久性的。
temp
返回一个临时性重定向状态码(302),这是默认值。
seeother
返回一个"参见"状态码(303),表示此资源已经被替代。
gone
返回一个"已废弃"状态码(410),表示此资源已经被永久性地删除了。如果指定了这个状态码,则URL参数将被忽略。

举例:
APACHE http-vhosts.conf配置文件,添加301重定向代码

Redirect 301 /old/old.htm http://www.mmxf.net/new.htm #/old/old.htm重定向到new.htm

Redirect permanent /one http://www.mmxf.net/two #同上,permanent指令表示返回永久性重定向状态码301

RedirectMatch 301 ^\/(.*)$ http://mmxf.sinaapp.com/$1 #全站301重定向到新域名,内页重定向到新域名对应内页。
关于本段的说明,如果写成RedirectMatch 301 ^(.*)$ http://mmxf.sinaapp.com/$1 , IE9、firefox、chrome返回的结果是不一样的。IE打不开网页提示404,firefox火狐跳转后第一级目录会多出一个/ ,chrome正常打开。为了确保兼容,建议在.htaccess文件中实现301重定向。

2.使用mod_rewrite重写URL方式
APACHE .htaccess

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.mmxf\.net$
RewriteRule ^(.*)$ http\:\/\/mmxf\.sinaapp\.com\/$1 [R=301,L]

在这里判断当前服务器变量HTTP_HOST是否等于www.mmxf.net,为真就进行重写,按照R=permanent(等同R=301)进行永久重定向,L表示并立即停止重写操作,并不再应用其他重写规则


主域名301重定向到www的二级域名

创建一个.htaccess文件,并将下面提供的代码写入文件内,它可以确保所有来自对domain.com的请求都转向到对 www.domain.com 进行请求。记住.htaccess文件一定要放在旧网站的根目录下,并且新网站要和旧网站保持相同的目录结构及网页文件

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,NC]

注意:.htaccess文件只有在使用安装有Mod Rewrite模块的Apache作为WEB服务器的Linux主机上才能起作用

绑定/本地DNS(域名别名跳转)
如果具有对本地DNS记录进行编辑修改的权限,则只要添加一个记录就可以解决此问题。
若无此权限,则可要求网站托管服务商对DNS服务器进行相应设置。
DNS服务器的设置
若要将aaa.domain.com指向www.domain.com,则只需在DNS服务中应增加一个别名记录,可写成:aaa IN CNAME www.domain.com。
如需配置大量的虚拟域名,则可写成:* IN CNAME www.domain.com.
这样就可将所有未设置的以domain.com结尾的记录全部重定向到www.domain.com上。
回复

支持 | 反对  0 支持 / 0 反对 评分 举报

[Lv.8]超级萝卜

沙发(2#)
发表于 2013-3-8 01:10:11 来自手机 | 只看该作者
这是什么东东

Super Moderator

板凳(3#)
 楼主| 发表于 2013-3-9 17:42:17 | 只看该作者
candy 发表于 2013-3-8 01:10
这是什么东东

301重定向。就是访问一个网站的时候转到另外一个网站

Super Moderator

地板(4#)
 楼主| 发表于 2013-5-19 18:34:02 | 只看该作者

安卓客户端好用不

联系我们(Contact)|手机版|萝卜头IT论坛 ( 苏ICP备15050961号-1 )

GMT+8, 2026-10-19 18:04 , Processed in 0.07 second(s), 20 queries , Gzip On.

快速回复 返回顶部 返回列表