博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Apache 别名与重定向
阅读量:7122 次
发布时间:2019-06-28

本文共 2266 字,大约阅读时间需要 7 分钟。

  hot3.png

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

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

root@10.1.1.200:www# vim /etc/apache2/sites-enabled/www.dave.com
ServerAdmin webmaster@localhost ServerName www.dave.com DocumentRoot /var/www/
Options Indexes FollowSymLinks AllowOverride None Order allow,deny allow from all ErrorLog /var/log/apache2/error.log Alias /test/ "/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
访问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.phpRedirect temp  /example http://www.test.com/index.phpRedirectTemp  /example http://www.test.com/index.php
访问http://www.dave.com/example,测试结果

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

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

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

你可能感兴趣的文章
poj 2154 Color
查看>>
QT学习之forward declaration of 'struct Ui::xxx';invalid use of incomplete struct "Ui::Widget"
查看>>
Apc缓存Opcode(转)
查看>>
Enterprise Library系列文章目录(转载)
查看>>
程序与程序的交互--接口
查看>>
3.项目学习二
查看>>
[hihoCoder] 题外话·堆
查看>>
Drupal中常用一些模块
查看>>
当下大部分互联网创业公司为什么都愿意采用增量模型来做开发?
查看>>
[Windows Azure] Windows Azure SQL Database library
查看>>
SpringBoot扫描数据库配置的定时任务,根据cron定时刷新数据库数据保证任务数据最新...
查看>>
Vue / keep-alive使用
查看>>
SQL学习之使用常用函数处理数据
查看>>
JavaScript之面向对象学九(原型式继承和寄生式继承)
查看>>
memcached(五)--源码分析,启动
查看>>
实践2
查看>>
CHUI类
查看>>
C++ sizeof的内存计算(2)
查看>>
《构建之法》阅读笔记3
查看>>
python练习题总结
查看>>