热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Apache域名跳转配置

域名跳转就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等。参数格式参数

域名跳转

  就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等 。
 
参数格式
参数:

Apache mod_rewrite 规则重写

     1) R[=code](force redirect) 强制外部重定向
               说明:强制在替代字符串加上http://thishost[:thisport]/前缀重定向到外部的URL.如果code不指定,将用缺省的302 HTTP状态码。

     2) F(force URL to be forbidden)禁用URL,返回403HTTP状态码。

     3) G(force URL to be gone) 强制URL为GONE,返回410HTTP状态码。

     4) P(force proxy) 强制使用代理转发。

     5) L(last rule) 表明当前规则是最后一条规则,停止分析以后规则的重写。

     6) N(next round) 重新从第一条规则开始运行重写过程。

     7) C(chained with next rule) 与下一条规则关联

     8) T=MIME-type(force MIME type) 强制MIME类型

     9) NS (used only if no internal sub-request) 只用于不是内部子请求

     10) NC(no case) 不区分大小写

     11) QSA(query string append) 追加请求字符串

     12) NE(no URI escaping of output) 不在输出转义特殊字符
             说明:RewriteRule /foo/(.*) /bar?arg=P1%3d$1 [R,NE] 将能正确的将/foo/zoo转换成/bar?arg=P1=zoo

     13) PT(pass through to next handler) 传递给下一个处理
             说明:RewriteRule ^/abc(.*) /def$1 [PT] # 将会交给/def规则处理Alias /def /ghi
     
     14) S=num(skip next rule(s)) 跳过num条规则

     15) E=VAR:VAL(set environment variable) 设置环境变量

     16) OR 代表或者

注:如果规则匹配则正常处理,8)以后的标志无效,如果不匹配,那么下面所有关联的规则都跳过。
格式:

# 调用mod_rewrite.c模块
 

    # 打开rewirte功能
    RewriteEngine on 

    # 声明Client请求的主机中前缀不是www.client.cn
    RewriteCond %(HTTP_HOST) ^www.client.com$

    # 含义是如果Client请求的主机中的前缀符合上述条件,则直接跳转。
    AuthType Basic ^(.*)$ http://www.server.com/$1 [R=301,L]


 

实例配置

1、查找是否有rewrite模块,域名跳转模块
命令:apache2/bin/apachectl -M | grep rewrit

rewrite_module    (shared)


如果不存在:

# 编辑主配置文件,解注释 vim httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so 注:如果没有该模块,则需要通过apxs工具安装模块。

2、修改虚拟主机配置文件

vim httpd-vhosts.conf

# 1对1域名跳转

    DocumentRoot "/usr/local/html"
    ServerName www.server.com
    ServerAlias www.aaa.com

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


    require all granted



# 1对多域名跳转

    DocumentRoot "/usr/local/html"
    ServerName www.server.com
    ServerAlias www.aaa.com
    ServerAlias www.bbb.com

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www.aaa.com$ [OR]
    RewriteCond %{HTTP_HOST} ^www.bbb.com$
    RewriteRule ^/(.*)$ http://www.server.com/$1 [R=301,L]


    require all granted

配置文件
注:跳转状态码
    301代表永久重定向
    302临时重定向

注:$1代表地址后跟的网络文件。

注:访问一个“/”可以输入以下格式。
 RewriteCond %(HTTP_HOST)  456.com
 RewriteRule /(.*)$ HTTP://123.com/$1 [R=301,L] 

3、重新读取配置文件

apache2/bin/apachectl graceful

 


推荐阅读
  • k8s进阶之搭建私有镜像仓库
    企业级私有镜像仓 ... [详细]
  • ZABBIX 3.0 配置监控NGINX性能【OK】
    1.在agent端查看配置:nginx-V查看编辑时是否加入状态监控模块:--with-http_stub_status_module--with-http_gzip_stat ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
  • Annotation的大材小用
    为什么80%的码农都做不了架构师?最近在开发一些通用的excel数据导入的功能,由于涉及到导入的模块很多,所以开发了一个比较通用的e ... [详细]
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
author-avatar
娟儿2502923263
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有