导读 当HTTP资源或网页更改位置时,通常重要的是提供某些方法来提醒用户这些资源已移动。 HTTP协议为此提供了多个“重定向”状态代码,用于与客户端应用程序进行通信,而不会影响用户体验。

Apache提供了许多“重定向”配置说明,这些说明允许管理员在配置文件中指定资源以重定向到另一个URL。重定向请求后,服务器将返回请求结果,该结果指示客户端启动对目标资源新位置的第二个请求。

重定向可以告诉客户端所请求的页面已临时或永久移动。 Apache提供了轻松支持这些功能的工具。本指南描述了重定向配置说明,如何设置各种重定向选项以及如何将资源请求类重定向到新位置。

重定向

重定向配置指令可以位于主服务器配置文件中,但是我们建议您将其保留在虚拟主机条目或目录块中。您也可以在.httaccess文件中声明重定向语句。以下是重定向指令的示例:

Redirect /jiumulu http://linuxidc.com/xinmulu/

如果未给出参数,则发送临时(例如302)重定向状态。 在这种情况下,会通知客户端(用户代理)// jiumulu的可用资源已临时移至http://linuxidc.com/xinmulu/。

要指定特定的HTTP重定向状态,请指定以下状态之一:

Redirect permanent /username http://linuxidc.com/~username/
Redirect temp /username http://linuxidc.com/~username/
Redirect seeother /username http://linuxidc.com/~username/
Redirect gone /username

此重定向告诉客户端资源已永久移动,这与HTTP状态301相对应。“ temp”状态是默认行为,表示重定向仅是临时的;默认状态是重定向。 这对应于HTTP状态302。发送“another”状态以指示所请求的信号:该资源已被另一个资源替换(HTTP状态303)。 最后,“gone”状态告诉客户端资源已被(永久)删除; 这发送HTTP状态410作为不可用“ 404”状态的替代。 如果是“leaved”重定向,请忽略最终网址。

Apache还提供了另外两个永久性和临时性重定向指令,它们更加清晰。 它们如下:

RedirectPermanent /username/bio.html http://linuxidc.com/~username/bio/
RedirectTemp /username/bio.html http://linuxidc.com/~username/bio/

此外,Apache还可以使用RedirectMatch指令来使用正则表达式将请求类型重定向到新地址。 例如:

RedirectMatch (.*)\.jpg$ http://static.linuxidc.com$1.jpg

该指令匹配对扩展名为.jpg的文件的任何请求,并将其替换为第二个域上的位置。 因此:

Request for http://www.linuxidc.com/linuxidc.jpg will be redirected to http://static.linuxidc.com/linuxidc.jpg
Requests for http://www.linuxidc.com/images/linuxidc.jpg will be redirected to http://static.linuxidc.com/images/linuxidc.jpg

CentOS 8.1下搭建LAMP(Linux+Apache+MySQL+PHP)环境  https://www.linuxidc.com/Linux/2020-02/162446.htm

原文来自:https://www.linuxidc.com/Linux/2020-04/162882.htm

本文地址:https://www.linuxprobe.com/apache-url-web.html编辑:张文祥,审核员:逄增宝

Linux命令大全:https://www.linuxcool.com/

Linux系统大全:https://www.linuxdown.com/

红帽认证RHCE考试心得:https://www.rhce.net/