首页 > 其他分享 >Apache 地址重写简单介绍

Apache 地址重写简单介绍

时间:2023-06-21 22:07:14浏览次数:42  
标签:文件 http 配置文件 htaccess 地址 Apache 重写

一、为何需要地址重写

网页地址变化,SEO需要更友好的地址,域名变化,等等情况下,为了让客户受尽了少的影响,最好的办法就是地址重写。

 

二、在那里重写

1、在Apache主配置文件httpd.conf中;以我本地XAMPP为例,就是要修改下面配置文件: D:\xampp\apache\conf\httpd.conf ;

2、在httpd.conf里定义的虚拟主机配置中;

如果你在一个Apache中配置了多个站点,就需要在VirtualHost中设置你的地址重写规则。

参看: APACHE多站点配置方法

Ubuntu中Apache多站点设置

3、在基于目录的配置文件.htaccess中;

.htaccess文件是针对目录进行配置的一种方法。Apache在提供一个资源时,会在此资源所在目录中寻找.htaccess文件,如果有,则使其中的指令生效。就类似ASP.net 中每个目录下都可以设置 Web.config 文件,下级目录的覆盖上级目录的配置;

 

三、重写是如何工作的

首先要确认已经编译加载了 mod_rewrite 模块:

在 D:\xampp\apache\conf\httpd.conf 文件中,确认下面加载模块的代码没有被注释掉:

LoadModule rewrite_module modules/mod_rewrite.so

当外部请求到达Apache,Apache会调用重写规则中的定义来重写由用户浏览器指定请求的URL,最后被重写的URL如果是重定向,则送交浏览器做再一次请求;如果是代理则把重写后的URL交给代理模块请求最终的内容(Content),最后把内容送回给浏览器。

 

四、如何重写

以基于目录的配置文件.htaccess来重写为例演示如何重写:

1、假如您对网站内容所在的服务器没有管理员权限,或者您的网站内容放在ISP的服务器上托管,无法改写主配置文件,但是您对Web站点内容所在的目录有写权限,则可以设置自己的.htaccess文件达到同样的目的。但您需要确定主配置文件中对您的网站所在的目录定义了下面的内容,否则您的.htaccess不会工作。 如下的 AllowOverride All 是必须的,否则.htaccess文件不起作用。

#
# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories). 
#
# First, we configure the "default" to be a very restrictive set of 
# features.  
#
<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Deny from all
</Directory>

<Directory "D:/xampp/htdocs">
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All
</Directory>

2、 在 D:\xampp\htdocs 目录下建立一个 .htaccess 文件,

.前面没有信息的 .htaccess 文件,一般方式建立是不行的,建立方式参看这篇文章: Windows下自由创建.htaccess文件的N种方法

3、一个简单的.htaccess 文件配置演示

下面就是一个简单的 .htaccess 文件 配置,把对 http://localhost:8081/11 的请求跳转到 /my/2.php 来处理。

RewriteEngine on
RewriteBase / 
RewriteRule ^11$ /my/2.php

 

有关 .htaaccess 文件的更详细的配置信息可以参看:

http://man.chinaunix.net/newsoft/Apache2.2_chinese_manual/howto/htaccess.html

 

参考资料:

Apache重写规则的常见应用及实例说明
http://9host.cn/php/200742218323311482.html

含参数url(即url中带?)的apache重写问题

Apache重写规则的常见应用
http://777yjt.blog.163.com/blog/static/950693520061136304519/

ApacheURL重写简介
http://cdwenyang.blog.163.com/blog/static/13569222007101411151535/

.htaccess文件
http://man.chinaunix.net/newsoft/Apache2.2_chinese_manual/howto/htaccess.html

Apache模块 mod_rewrite
http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/mod_rewrite.html

如何利用Apache的Rewrite功能实现动态网址到静态网址的转换
http://www.coolder.com/255-1-1

标签:文件,http,配置文件,htaccess,地址,Apache,重写
From: https://blog.51cto.com/u_15588078/6532064

相关文章

  • 手动配置Ubuntu 指定DNS服务器地址
    Ubuntu使用文件"/etc/resolv.conf"文件配置DNS服务器的地址,可通过nameserver配置项设置DNS服务器的IP地址,最多可以使用3个DNS服务器。sudogedit/etc/resolv.conf修改为以下信息:#GeneratedbyNetworkManagernameserver8.8.8.8nameserver8.8.4.4对"resolv.conf"的修改......
  • 深入了解ApacheZeppelin:如何构建高效的数据科学平台
    目录引言随着数据科学和人工智能的快速发展,如何构建高效的数据科学平台已经成为一个重要议题。ApacheZeppelin是一个开源的数据科学平台,其提供了一种简单、高效的方式来处理和存储数据,并且具有高度可定制性和灵活性。在本文中,我们将深入探讨ApacheZeppelin的技术原理、实现......
  • 性能提升30%!袋鼠云数栈基于 Apache Hudi 的性能优化实战解析
    ApacheHudi是一款开源的数据湖解决方案,它能够帮助企业更好地管理和分析海量数据,支持高效的数据更新和查询。并提供多种数据压缩和存储格式以及索引功能,从而为企业数据仓库实践提供更加灵活和高效的数据处理方式。在金融领域,企业可以使用Hudi来处理大量需要实时查询和更新的金......
  • 关于在Redhat-7-linux-系统-Apache-2.4.6-版本上部署多个版本的yum仓库-的配置文件写
    背景:云上有一台内部yum服务器,操作系统及版本信息为:RedHatEnterpriseLinuxServerrelease7.9(Maipo)上面每天会同aws仓库官网同步repo,版本也自然是 RedHatEnterpriseLinuxServerrelease7现在需要临时增加Redhat8.的仓库,(默认Redhat8也是有内部repo仓库的,只是在......
  • Linux C 获取 域名IP 地址
    #include<stdio.h>#include<sys/socket.h>#include<netdb.h>#include<string.h>//使用inet_ntoa需要引包<arpa/inet.h>#include<arpa/inet.h>intmain(intargc,char*argv[]){structhostent*host;charhostname[]=......
  • intent发起一个url地址以及一个相对布局的使用
    Intentintent=newIntent(Intent.ACTION_VIEW);intent.setData(Uri.parse("http://www.stackoverflow.com"));startActivity(intent);<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_......
  • chatgpt3.5聊天的地址
    欢迎使用chatgpt3.5,免费免国际网络且不会以任何形式收费,只需帮忙增加小程序访客(想开通流量主...)https://www.chatgpt.xcc2djh.asia  想要教程自己搭建的话,可以手把手教,也免费,但需要帮忙推广一下微信小程序。 ......
  • Apache Superset 身份认证绕过漏洞(CVE-2023-27524)
    漏洞简介ApacheSuperset是一个开源的数据可视化和数据探测平台,它基于Python构建,使用了一些类似于Django和Flask的Pythonweb框架。提供了一个用户友好的界面,可以轻松地创建和共享仪表板、查询和可视化数据,也可以集成到其他应用程序中。由于用户在默认安装过程中,未对SECRET_KEY......
  • Apache Superset 身份认证绕过漏洞(CVE-2023-27524)
    漏洞简介ApacheSuperset是一个开源的数据可视化和数据探测平台,它基于Python构建,使用了一些类似于Django和Flask的Pythonweb框架。提供了一个用户友好的界面,可以轻松地创建和共享仪表板、查询和可视化数据,也可以集成到其他应用程序中。由于用户在默认安装过程中,未对SECRET_KEY的默......
  • 更改centos linux 7ip地址的shell语句
    #!/bin/sh#autoChangeipnetmaskgatewayscripts#chenhao2023-06-17cat<<EOF++++++++自动:修改ip和主机名等相关信息+++++++++ETHCONF=/etc/sysconfig/network-scripts/ifcfg-ens33HOSTS=/etc/hostsNETWORK=/etc/sysconfig/networkDIR=/data/backup/`date+%Y%......