Apache 别名与重定向
为什么80%的码农都做不了架构师?>>>
当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@localhostServerName www.dave.comDocumentRoot /var/www/<Directory /var/www/>Options Indexes FollowSymLinksAllowOverride NoneOrder allow,denyallow from all</Directory>ErrorLog /var/log/apache2/error.logAlias /test/ "/usr/share/doc/"<Directory "/usr/share/doc/">Options Indexes MultiViews FollowSymLinksAllowOverride NoneOrder deny,allowDeny from allAllow 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
Apache 别名与重定向相关推荐
- apache主机的重定向和多域名绑定
###apache主机的重定向和多域名绑定 (1)将www.chinahtml.com/bbs 内容301重定向到:http://bbs.chinahtml.com/ (子目录绑定) <Virt ...
- Apache配置URL重定向
Apache配置URL重定向 修改/etc/httpd/conf/httpd.conf文件的内容 <Directory "/var/www">AllowOverride ...
- Apache Rewrite url重定向功能的简单配置
1.Apache Rewrite的主要功能 就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范.平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等 2.Apache Rewrite ...
- 设置Apache服务器的重定向
1.什么是重定向? 通过各种方法将各种网络请求重新定个方向,转到其他地方(分为内部和外部, 内部是看不到的,外部url会变化) 这是官方的介绍,用自己的话来说, 重定向就是把网络请求到另一个地方, 本 ...
- apache配置RewriteRule重定向
当php需要重定向另外一个文件夹的html的时候,可以直接在apache里面配置RewriteRule 来开启重定向,直接进行访问 1.启用.htaccess AllowOverride None 修 ...
- Apache 配置Http重定向到Https(两种方案任君选择)
Apache Http重定向到Https非常重要且关键,若没有对重定向进行配置,那么ssl的保护性将可以被绕过. 本文的实验环境是 ubuntu16 apache2.2 前置条件是 已经配置好了SS ...
- php 请求url没有扩展名,apache – 将.php重定向到无扩展名,并在没有.php的情况下创建url...
这条规则: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([a-zA-Z0 ...
- iis php重定向循环,iis和apache及PHP页面设置301重定向跳转方法
301重定向有很多办法可以实现,如iis可以,apache,php,asp等等都可以快速的设置页面301重定向跳转了,下面我来给各位同学介绍介绍 本文将通过IIS.APACHE.ASP.PHP几种服务 ...
- vue-router详尽:编程式导航、路由重定向、动态路由匹配、路由别名、嵌套路由、命名视图
vue-router编程式导航 在vue项目中经常用到this.$router.push() 和 this.$router.replace() 方法进行路由跳转就是编程式导航... 通俗理解编程式导航 ...
最新文章
- java 只去掉_30行代码带你了解Java的Serializable接口
- 安装Maltego默认插件
- Java API 操作Zookeeper
- 学习笔记整理之模式化方法
- ZZULIOJ 1126: 布尔矩阵的奇偶性
- How to setup linked servers for SQL Server and Oracle 64 bit client
- u8显示云服务器已离线_u8登录不知道这样的主机
- 免费下载 | 秒变钉钉应用开发达人!《钉钉应用开发者速成手册》独家上线
- 暑假视力如何保护?护眼台灯可以保护视力
- 设计模式 装饰者模式 带你重回传奇世界
- qPCR检测基因表达的引物数据库
- UOS主动安全防护计划(UAPP)正式发布,共建信创基础软件平台安全底座
- HashMap源码分析(深入理解HashMap)
- 记录用matlab APP中matlab coder的简单步骤
- 心情好些了,发现自己还是适合专注科研
- 抖音同款口红机 微信口红机 在线游戏口红机开发代码 分析
- python实现堆栈_Python堆栈实现计算器
- 浅谈Vue渐进式的理解
- “华为区块链白皮书”重磅发布(附下载链接)
- 反对996,吐槽996,但出路在哪里?