Apache 301跳转
本问将实现,在Apache配置文件中实现301跳转,在.htaccess文件中实现301跳转;主域名301重定向到www二级域名。
1. Apache模块 mod_alias的 Redirect 和 RedirectMatch命令
上面提到2个命令使用方法相似。而区别就是后者RedirectMatch基于正则表达式匹配对当前的URL发送一个外部重定向语法为:
Redirect URL-path URL
RedirectMatch 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
在这里判断当前服务器变量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
RewriteRule ^(.*)$ http://www.domain.com/$1
注意:.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上。
这是什么东东 candy 发表于 2013-3-8 01:10 static/image/common/back.gif
这是什么东东
301重定向。就是访问一个网站的时候转到另外一个网站 candy 发表于 2013-3-8 01:10
这是什么东东
安卓客户端好用不
页:
[1]