apache配置虚拟目录和URL重定向
1. 虚拟目录
认识虚拟目录
虚拟目录就是在站点中建立一个链接指向某个物理路径,可用于发布站点主目录以外资源或缩短物理路径
虚拟目录配置命令
a. alias URL-path 物理路径
映射URL到文件系统的特定区域
b. aliasMatch 正则表达式 物理路径
使用正则表达式映射URL到文件系统
c. scriptAlias URL-path 物理路径
映射URL到文件系统的特定区域、允许执行CGI脚本
d.scriptAliasMatch 正则表达式 物理路径
注:以上配置命令可以在主服务器或虚拟主机中配置
示例:服务器地址为本站网址www.51osos.com
Alias /image /ftp/pub/image
//对http://www.51osos.com/image/logo.png 的请求,服务器会返回/ftp/pub/image/logo.png
温馨提示:如果URL-PATH中有后缀”/”,则服务器要求有后缀”/”以扩展此别名,也就是说
Alias /manual/ /ftp/pub/manual/并不能对/manual实现别名。
提示一下这个是为本系列教程下一节埋下伏笔,嘿嘿。
aliasMatch ^/icons(.*) /usr/local/apache/icons$1
scriptAlias /cgi-bin/ /web/cgi-bin/
scriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
如果正则表达式与URL-path相匹配,则服务器会把所匹配的括弧中的字符串替换到该指令所指定的目标字符串中,并视之为一个文件名。
2. 配置URL重定向
认识URL重定向
URL重定向指的是修改客户机请求的URL,并将修改后的URL返回给客户机,由客户机重新请求新的URL
URL重定向的配置命令
a. redirect [状态] URL-PATH URL
发送一个外部重定向使客户端重定向到一个不同的URL
b. redirectmath [状态] 正则表达式 URL
基于正则表达式匹配对当前的URL发送一个外部重定向
状态:
permanent
返回一个永久性重定向状态码(301),表示此资源的位置变动是永久性的。
temp
返回一个临时性重定向状态码(302),这是默认值。
seeother
返回一个"参见"状态码(303),表示此资源已经被替代。
gone
返回一个"已废弃"状态码(410),表示此资源已经被永久性地删除了。如果指定了这个状态码,则URL参数将被忽略。
status可以被指定为数字状态以返回其他状态码。如果此状态在300-399之间,则必须提供URL参数,否则将被忽略。
示例:
Redirect permanent /abc http://www.51osos.com/xyz
//将/abc目录内容永久重定向到www.51osos.com/xyz下。如你的网站换了域名,老用户只知道以前的域名,访以前该目录时就重定向到新网站了。
Redirect 303 /linux http://www.51osos.com/opensource
//linux目录内容已被/opensource目录替代。
RedirectMatch (.*)\.gif$ http://bbs.51osos.com$1.jpg
//重定向所有GIF文件到另一个服务器上同名的JPEG文件
注:以上配置命令可以放在主服务器、虚拟主机、directory或.htaccess中