比如网站可以通过tu17.com访问,也可以通过www.tu17.com访问。所以想实现tu17.com全部重定向(跳转)到www.tu17.com。同时按照google的建议,使用服务器端 301 重定向,为了确保用户及搜索引擎定向至正确网页的最佳方法。301 状态代码表示某网页已被永久迁移至新位置。下面将了解一下apache下实现301永久性重定向2个方法,需要具有访问服务器的 .htaccess 文件的权限。
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参数将被忽略。
举例:
Redirect 301 /old/old.htm http://www.tu17.com/new.htm
Redirect permanent /one http://tu17.com/two
RedirectMatch 301 (.*)\.gif$ http://www.tu17.com/images/$1.jpg
2.使用mod_rewrite重写URL方式
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^tu17\.com
RewriteRule ^(.*)$ http://www.tu17.com/$1 [R=permanent,L]
在这里判断当前服务器变量HTTP_HOST是否等于tu17.com,为真就进行重写,按照R=permanent进行永久重定向,L表示并立即停止重写操作,并不再应用其他重写规则
下面是我最终实现的.htaccess文件,同时也并入wordpress重写规则。
<IfModule mod_rewrite.c>
RewriteEngine On
#Redirect
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^zivee\.cn$
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*)$ http://www.zivee.cn/$1 [R=301,L]
</IfModule>
分享到:
相关推荐
下面我们来总结windows中apache 301页面跳转实现方法,目前最主流的有二种一种是在写.htaccess文件方法
Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言。可基于服务器级的(httpd.conf)和目录级的 (.htaccess)两种方式
主要介绍了Apache的Rewrite设置多域名301跳转到主域名的方法,包括重写规则中问号匹配问题的解决,需要的朋友可以参考下
网站自动跳转到移动端,自动识别,简单的例子。
主要为大家详细介绍了Apache无法自动跳转却显示目录的解决方法,需要的朋友可以参考下
感觉BAIDU spider对404的重定向似乎无动于衷,于是近日干脆对原失效的链接重新设置301重定向。
手工编译安装geoip支持apache实现根据IP地址URL、域名跳转
如何使用.htaccess使非伪静态页面301跳转到伪静态页面然后再跳转?这是一个比较蛋疼的跳转。因为不小心就会搞成死循环导致页面无法打开。好在问题最终解决了。记录并分享出来,给需要的朋友借鉴借鉴。 规则如下: ...
linux的Apache用户认证、域名跳转、Apache访问日志介绍原创Gary_加油涛2017-12-20 21:32:03评论(0)321人阅读Apache
nginx负载均衡ssl证书认证强制跳转https+keeplived+apache
本文主要和大家分享Apache http自动跳转到https的几种方法,非常不错,具有参考借鉴价值,需要的朋友参考下
新建.htaccess文件,输入下列内容(需要开启mod_rewrite): 1...//www.jb51.net/$1 [L,R=301] 2)重定向到新域名 代码如下: Options +FollowSymLinks RewriteEngine on RewriteRule ^(.*)$ http://www.baidu.com/$1
问题描述:需要将 /news/show_news.php?id=1 形式的地址伪静态成 /news/1 形式,而且 /news/show_news.php?id=1 在浏览器打开要 301 跳转到 /news/1 去。 但是在 .htaccess 加入规则,出现了死循环,死循环规则如下 ...
安装配置apache并修改对应配置实现访问地址的重定向功能,已apache所在服务器为中间服务器来完成访问地址的跳转
客户中心启用了https的ssl证书,现在需要将原先的http直接跳转到https上。这里为大家提供一个我经常使用到的方法,即使用伪静态功能
5、解决CC防护的跳转页面不能正常显示的问题 6、修改原有拦截页面样式 7、解决上传文件时出现的绕过问题 8、修改CC参数,默认设置为10S内100次,避免误拦截问题 9、修改IP黑白名单导入/导出的文件格式,支持与服务器...