我觉得mod_alias根mod_rewrite挺像的,都可以实现url的重写,而mod_alias可以实现简单的url重写的功能 ,而mod_rewrite可以实现比较复杂的重写。mod_alias有一种功能是非常强大的,使不在DocumentRoot目录下的内容也能成为”自己文档“中的一部分。而不需要在重新弄一个VirtualHost。



一,测试前的准备,

1,DocumentRoot是d:/xampp/www

2,在www文件下面建一个test文件夹,test文件夹下面建一个aaaa文件夹

3,在建一个文件夹是d:/xampp/webdav

4,在d:/xampp/www下面建一个文件index.php,写入以下内容

  1. <?php
  2. echo "我是documentroot目录";
  3. ?>

5,在d:/xampp/webdav下面建一个文件index.php,写入以下内容

  1. <?php
  2. echo "我不是documentroot目录,也不是documentroot的子目录";
  3. ?>

二,测试

1,测试1

  1. <VirtualHost *:80>
  2. ServerAdmin xtaying@gmail.com
  3. DocumentRoot d:/xampp/www
  4. ServerName localhost
  5. ErrorLog logs/www.test.com-error_log
  6. CustomLog logs/www.test.com-access_log common
  7. Alias /webdav d:/xampp/webdav
  8. Alias /www d:/xampp/www
  9. <Directory "d:/xampp/www">
  10. SSLOptions +StdEnvVars
  11. AllowOverride All
  12. Allow from all
  13. </Directory>
  14. </VirtualHost>

重起一下 apache,当我们访问http://localhost/www/,会看到我是documentroot目录,当我们访问http://localhost/webdav/,会看到我不是documentroot目录,也不是documentroot的子目录。

从上面的例子中,很明显的看出,alias可以把非documentroot目录中的目录,”拉到“自己的目录树中。上例中webdav根www目录是平级关系。

2,测试2

  1. 用AliasMatch /(www|webdav) d:/xampp/$1  代替测试1中的
  2. Alias /webdav d:/xampp/webdav
  3. Alias /www d:/xampp/www

重起一下apache,当我们访问http://localhost/www/和http://localhost/webdav/会看到和测试一中有相同的结果。Alias的正则功能是可以用的。

3,测试3

在测试1的基础上,加上Redirect 302 /webdav http://localhost/www

  1. Alias /webdav d:/xampp/webdav
  2. Alias /www d:/xampp/www
  3. Redirect 302 /webdav http://localhost/www

重起apache,当我们访问http://localhost/webdav/会重定向到http://localhost/www/.

4,测试4

在测试1中加入以下内容

  1. Alias /test/aaaa d:/xampp/www
  2. Alias /test d:/xampp/www

重起apache,你会发现http://localhost/test/和http://localhost/test/aaaa都可以访问,但是如果你把他们二个的位置颠倒一下的话,后面一个就不能访问了。也就是说最子目录要放在最前面

三,总结一下

mod_alias中的其他命令根alias,aliasmatch,redirect差不多,他们三个可以代表三个方向吧。所以其他就不说了,用的时候替换上面的三个命令就OK了.

apache mod_alias模块功能介绍的更多相关文章

  1. 基于Metronic的Bootstrap开发框架--工作流模块功能介绍(2)

    本篇继续<基于Metronic的Bootstrap开发框架--工作流模块功能介绍>,继续介绍基于Metronic的Bootstrap开发框架的工作模块功能,介绍工作流模块中相关业务表单的界 ...

  2. Winform开发框架中的内容及文档管理模块功能介绍

    在开发项目的时候,我们有一些场景需要编辑一些HTML文档,作为内容发布系统的一部分,有时候也需要对一些文档如WORD文档进行编辑管理,这样需要我们对这些内容及文档进行合适的管理.本文主要介绍在WInf ...

  3. 基于Metronic的Bootstrap开发框架--工作流模块功能介绍

    在很早之前的随笔里面,已经介绍了WInform框架中工作流模块的功能,不过由于工作流模块中界面处理部分比较麻烦,一直没有在Bootstrap框架中进行集成,最近由于项目的关系,花了不少精力,把工作流模 ...

  4. Spring框架各模块功能介绍

    一. Spring是什么? Spring由Rod johnson开发: 是一个非常活跃的开源框架: 它帮助分离项目组件(对象)之间的依赖关系: 它的主要目的是简化企业开发 二. Spring的核心概念 ...

  5. metasploit模块功能介绍

    metasploit的模块构成及功能分析  转载自----http://forum.cnsec.org/thread-94704-1-1.html 今天我们介绍一下metasploit的基础架构和 市 ...

  6. Opencv模块功能介绍

    本文为原创作品,转载请注明出处 欢迎关注我的博客:http://blog.csdn.net/hit2015spring和http://www.cnblogs.com/xujianqing/   站在巨 ...

  7. JavaWeb网上图书商城完整项目--day03-1.图书模块功能介绍及相关类创建

    1 前两天我们学习了user用户模块和图书的分类模块,接下来我们学习图书模块 图书模块的功能主要是下面的功能: 2 接下来我们创建对应的包 我们来看看对应的数据库表t_book CREATE TABL ...

  8. jumpserver模块功能介绍

    一.仪表盘二.用户管理1.用户列表2.用户组 三.资产管理 1.资产列表 1.1 管理资产树 资产树节点不能重名, 右击节点可以添加.删除和重命名节点, 以及进行资产相关的操作 1.2 为资产树节点创 ...

  9. Python中模块之re的功能介绍

    re模块的功能介绍 1. 方法 match 从开头开始查找 方法:re.match(pattern,string,flags=0) 返回值:<class '_sre.SRE_Match'> ...

随机推荐

  1. 对 block 内存管理的一些看法

    首先交代一下retain cycle ,和 产生retain cycle后我们应该怎么处理. 1.retain cycle在block中是极易产生,block就是一段可以灵活使用的代码,你可以把它当做 ...

  2. YTU 2425: C语言习题 输出月份

    2425: C语言习题 输出月份 时间限制: 1 Sec  内存限制: 128 MB 提交: 476  解决: 287 题目描述 编写一程序,输入月份号,输出该月的英文月名.例如,输入3,则输出Mar ...

  3. 前端如何展示商品属性:SKU多维属性状态判断算法的应用-Vue 实现

    由于公司开发了一个电商项目,涉及到前台商品属性的展示,所以百度上找了一下!找到了 周琪力写的一个算法例子,因为作者只有jQuery 实现demo, 自己仿照 demo 实现了一个 vue 的! 周琪力 ...

  4. 转:Oracle:删除表空间

    原文:http://space.itpub.net/40239/viewspace-365948 OMF和非OMF管理的数据文件在DROP TABLESPACE时是否会自动删除,做了测试: SQL&g ...

  5. 【NOIP2014】 联合权值

    [题目链接] 点击打开链接 [算法] 如果(u,v)的距离为2,那么有两种可能 : 1.u和v为祖孙关系 2.u和v为兄弟关系 树形DP即可,详见代码 [代码] #include<bits/st ...

  6. bzoj4555

    ntt+cdq分治 原来zwh出的cf是斯特林 第二类斯特林数的定义是S(i,j)表示将i个物品分到j个无序集合的方案数,那么这道题中S(i,j)*j!*2^j是指将i个物品分到j个有序集合中并且每个 ...

  7. 链表中获取倒数第K个结点

    /* * 链表中查找倒数第K个结点.cpp * * Created on: 2018年5月1日 * Author: soyo */ #include<iostream> using nam ...

  8. Codechef LOCAUG17

    做完题目很少有写题解的习惯,强行PO一组吧. 比赛链接:https://www.codechef.com/LOCAUG17 PRINCESS 给定字符串s,问s是否存在长度大于1的回文子串. 解:分两 ...

  9. 一个获取google chrome扩展crx文件信息的PHP操作类

    此类中实现了从crx文件获取扩展的Appid.获取manifest.json文件内容.将crx文件转换为一般zip文件 代码如下: <?php class CrxParserException ...

  10. E20180424-hm

    thumb n. 拇指; (手套的) 拇指部份; trigger  vt. 引发,触发; 扣…的扳机; 发射或使爆炸(武器或爆炸性弹药);      n. (枪) 扳机; 起动装置,扳柄; 引发其他事 ...