我觉得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. 该项目不在c:\ 请确认该项目的位置

    该项目不在c:\ 请确认该项目的位置 - CSDN博客https://blog.csdn.net/feilong1lantern/article/details/50388414 在删除不掉的文件夹目 ...

  2. Kafka在Windows安装运行

    摘要:本文主要说明了如何在Windows安装运行Kafka 一.安装JDK 过程比较简单,这里不做说明. 最后打开cmd输入如下内容,表示安装成功 二.安装zooeleeper 下载安装包:http: ...

  3. Spring boot 使用Junt

    //@RunWith:启动器,SpringJUnit4ClassRunner:Spring整合JUnit4 //@SpringBootTest获取启动类,相当于@Contextconfiguartio ...

  4. access函数的使用检查文件的权限【学习笔记】

    #include "apue.h" #include <fcntl.h> int main(int argc,char **argv) { ) err_quit(&qu ...

  5. YTU 2444: C++习题 对象转换

    2444: C++习题 对象转换 时间限制: 1 Sec  内存限制: 128 MB 提交: 914  解决: 581 题目描述 定义一个Teacher(教师)类(教师号,姓名,性别,薪金)和一个St ...

  6. stringBuffer、StringBuilder、排序、Arrays、Jdk1.5新特性(java基础知识十三)

    1.StringBuffer类的概述 * A:StringBuffer类概述 * 通过JDK提供的API,查看StringBuffer类的说明 * 1.线程安全的可变字符序列. * 2.可将字符串缓冲 ...

  7. eclipse软件启动弹窗端口问题解决

    如果启动eclipse,弹出一个窗口,上面显示,8080 .8009.……等的提示,说明端口有冲突, 解决办法如下: 1.打开cmd 2.输入 netstat   -ano|findstr  8080 ...

  8. 如何去掉idea里mybatis的.xml文件 sql 语句背景色

    点击有背景的地方 Alt+Enter选择 un-inject Language/refence 即可去掉

  9. hdu-5721 Palace(最近点对)

    题目链接: Palace Time Limit: 8000/4000 MS (Java/Others)     Memory Limit: 262144/262144 K (Java/Others) ...

  10. 【Codeforces 20C】 Dijkstra?

    [题目链接] 点击打开链接 [算法] dijkstra [代码] #include<bits/stdc++.h> using namespace std; typedef long lon ...