zoukankan      html  css  js  c++  java
  • apache mod_alias模块功能介绍

    我觉得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.   
    8.  Alias /webdav d:/xampp/webdav  
    9.  Alias /www d:/xampp/www  
    10.   
    11.  <Directory "d:/xampp/www">  
    12.  SSLOptions +StdEnvVars  
    13.  AllowOverride All  
    14.  Allow from all  
    15.  </Directory>  
    16. </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了.

     

  • 相关阅读:
    习题三 答案
    习题二 答案
    Python开发【第三篇】:Python基本数据类型
    习题四 答案
    第一个python程序-判断登陆用户名和密码是否正确
    BFPRT算法 查找第k小的数
    设计模式----单例模式
    设计模式----原型模式
    非本地跳转
    链接器如何使用静态库解析引用
  • 原文地址:https://www.cnblogs.com/moqiang02/p/4061351.html
Copyright © 2011-2022 走看看