Apache 别名与重定向

       当apache接受请求时,在默认情况下会将DocumentRoot目录中的文件送到客户端,如果想将一组文件放置在网站上,希望将它们留在本来位置而搬移到新的位置,处理这种情况可以至少有2中方法,一种建立别名是指将URL对应至特定的目录;一种是重定向表示将URL对应至其他的URL;

       下面使用别名将URL对应至一个目录

root@10.1.1.200:www# vim /etc/apache2/sites-enabled/www.dave.com
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName www.dave.com
        DocumentRoot /var/www/
        <Directory /var/www/>
                Options Indexes FollowSymLinks
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
       ErrorLog /var/log/apache2/error.log

       Alias /test/ "/usr/share/doc/"
       <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 10.0.0.0/8 192.168.0.0/16
        </Directory> 
</VirtualHost>
访问http://www.dave.com/test/ 之前

访问http://www.dave.com/test/ 之后

           测试成功,注意Alias对于斜线的使用,如果别名末尾使用的斜线,则对应目录也要以斜线结束;如果别名末尾没有斜线,则对应目录也不需要.

          当然只要在主文件的目录中建立指向目标目录的符号链接,并启用Options +FollowSymLinks指令,也可以达到同样的效果,不过,明确使用alias则更容易追踪这些目录。

           注意:Aliais只会影响本地URL(http://www.dave.com/test/ test的部分)的对应,它不会修改URL的主机名称部分,若要更改URL的主机名称部分,可以使用Redirect或RewriteRule指令。

  

          下面将特定的URL的请求重定向到其他服务器上的URL

Redirect   /example http://www.test.com/index.php
          第二个参数设定完整的URL,而且会返回给客户端(浏览器),于是客户端会再次建立新的URL请求.Redirect指令会保留路径信息。重定向也有几种不同的形式,通过在redirect指令与第一参数之间插入适当的关键字,可以设定要使用的重定向类型。所有的重定向都会告知客户端所请求文件现在的位置,而不同类型的重定向则会通知客户端去何处查找将来需要的文件。如果没有指定关键词,则意味着使用temp作为默认值.

        

下面介绍4种重定向类型

temp

      文件当前不在原来所请求的位置上,可是将来可能会再出现在该位置上,这时可以使用临时性的重定向.在此设定下,客户端会记住原始请求所有的URL,并会用在将来的请求上。返回302状态的响应。

permanent

      永久性的重定向表示被请求的文件不在客户端所定制的位置上,而且客户端以后也不会在该位置上找到文件。客户端应该记住在重定向结果中显示的新位置,在接下来的子请求中总是使用该新位置获取资源.返回301状态的响应。

gone

     表示文档不在此位置,而且以后也不应该再询问了。此设定与"404 notfound" 的错误响应的不同之处在于,gone重定向承认文件曾经在此位置上,尽管现在已经不在此位置.返回303状态的响应.

seeoher

    会告知客户端原始文件已经不在此位置,并且被不同位置的其他文件所取代了。如原始请求可能是:http://www.dave.com/number3.html,服务器用seeother重定向来响应:http://www.dave.com/chapter-3/number3.html  返回410状态的响应.


         例如下面指令相同,而且返回302状态的响应

Redirect temp  /example http://www.test.com/index.php
Redirect temp  /example http://www.test.com/index.php
RedirectTemp  /example http://www.test.com/index.php
访问http://www.dave.com/example,测试结果

          下面指令相同,而且返回301状态的响应

Redirect permanent /example http://www.test.com/index.php
RedirectPermanent /example http://www.test.com/index.php



转载于:https://my.oschina.net/davehe/blog/101414

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值