当前位置: 首页 > news >正文

php apache 301重定向,Apache下修改.htaccess实现301重定向方法汇总

逍遥乐IT博客和逍遥乐的其他网站都是用的php程序,如常见的wordpress以及discuz等,伪静态和重定向是必须要做的!如www转向不带www的,反之亦然,或者说某一个地址进行跳转等等。通常我们做301重定向都是修改网站根目录下.htaccess文件。出于SEO、PR值传递、网址转换的目的,在网站初建和网站迁移时我们都需要使用301重定向,通常包括域名对域名,目录对目录和一个独立网址对另一个独立网址的重定向。在主机上作301重定向,最常用的方法有2种:

1.直接编辑网站根目录的.htaccess。

2.直接在主机面板进行设置。

实际上二者都是一样,都是修改.htaccess文件,只是前者手工编辑,后者是由主机控制面板完成的。用控制面板很简单,我在这里就不叙述了。

注:.htaccess只适用于Apache环境中,其他环境并不适用!

下面讲一下直接编辑.htaccess的方法。

注意:在设置301重定向之前务必备份相应目录下的.htaccess文件。

1.重定向domain.com到www.domain.com

这种重定向目的是使域名唯一,是网站SEO必须要做的,后面重定向www.domain.com到domain.com也是出于同样的原因,只是形式不同。

打开.htaccess文件,加入以下规则。(下面的规则是针对主域名的,子域名要修改)

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]

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

2.重定向www.domain.com到domain.com

RewriteEngine On

RewriteCond %{HTTP_HOST} !^domain.com$ [NC]

RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]

3.重定向olddomain.com到www.newdomain.com

RewriteEngine On

RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]

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

4.重定向olddomain.com to newdomain.com

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]

RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]

5.重定向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php

RewriteCond %{HTTP_HOST} ^www.domain.com$

RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L]

以上大致就这些,这些事逍遥乐收集自网络,可供大家参考!

相关文章:

  • php一对多关联,SpeedPHP/数据表一对多关联
  • import matlab.engine,请教python导入matlab engine失败的问题。
  • php封装pdo连接书记库,PHP封装的PDO数据库操作类实例分析
  • 推荐几本php的好书,新手,求几本php的好书!
  • 管理python库的工具,Python的包管理工具
  • php 对象注入,小记一次PHP对象注入
  • oracle export表结构,oracle下导入导出表结构
  • oracle自定义异常标量,gqlgen/graphql自定义标量
  • oracle安装出现连接失败怎么办,oracle客户端PLSQL连接失败解决方法
  • oracle数据库架ssm,GitHub - wind0926/ssm-maven: smm框架+maven+oracle的旅游后台系统
  • oracle快速生成一千万条数据,[Oracle]快速生成大量模拟数据的方法
  • oracle存储过程生成uuid,存储过程 根据uuid
  • oracle submit_time,Oracle '26-2月 -19 03.34.47.000000 下午' 字符串日期解析
  • linux 计算字符串日期,在linux下获取时间字符串
  • linux 阻止 复位命令,Linux下锁定账号,禁止登录系统的设置总结
  • 【css3】浏览器内核及其兼容性
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • C++类的相互关联
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • in typeof instanceof ===这些运算符有什么作用
  • Java精华积累:初学者都应该搞懂的问题
  • LeetCode算法系列_0891_子序列宽度之和
  • Linux快速复制或删除大量小文件
  • Mybatis初体验
  • mysql常用命令汇总
  • node.js
  • Python十分钟制作属于你自己的个性logo
  • SpingCloudBus整合RabbitMQ
  • Spring Boot MyBatis配置多种数据库
  • Twitter赢在开放,三年创造奇迹
  • 初识 webpack
  • 从伪并行的 Python 多线程说起
  • 关于Flux,Vuex,Redux的思考
  • 关于Java中分层中遇到的一些问题
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • (06)金属布线——为半导体注入生命的连接
  • (1) caustics\
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (剑指Offer)面试题34:丑数
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (三)elasticsearch 源码之启动流程分析
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (一)基于IDEA的JAVA基础1
  • (转)memcache、redis缓存
  • (转)socket Aio demo
  • .bat文件调用java类的main方法
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .Net CF下精确的计时器
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)