一、Apache 服务器;
使用的指令: Alias /webpath /full/filesystem/path
是由”alias_module 模块,提供路径别名的功能的。
所以,如果模块 alias_module 不存在,提供“路径别名”也是没有用的,甚至会报错“404 Not Found”。所以要先判断下该模块是否存在。
由于 Apache 提供指令“<IfModule>” 判断模块是否存在, 存在则使用“路径别名”
1
2
3
|
<IfModule alias_module>
Alias
/bbs
/lvm/html
<
/IfModule
>
|
Apache 必须使用 <Directory filepath> 容器提供访问权限,才能通过 http://192.168.203.99:8080/bbs 访问路径别名下的网页文件的。
否则会报: 403 Forbidden
# need to provide a <Directory> section to allow access to the filesystem path.
1
2
3
4
5
|
[root@node2 ~]
# curl -I http://192.168.203.99:8080/bbs/index.php
HTTP
/1
.1 403 Forbidden
#------> 错误代码 403
Date: Mon, 12 May 2014 02:03:58 GMT
Server: Apache
Content-Type: text
/html
; charset=iso-8859-1
|
增加文件系统路径允许访问权限:
1
2
3
4
5
6
7
8
9
|
<IfModule alias_module>
Alias
/bbs
/lvm/html
<
/IfModule
>
<Directory
/lvm/html
>
AllowOverride None
Options None
Order allow,deny
Allow from all
<
/Directory
>
|
再次测试是否能够正常访问?
1
2
3
4
5
6
|
[root@node2 ~]
# curl -I http://192.168.203.99:8080/bbs/index.php
HTTP
/1
.1 200 OK
#-------> 响应码:200
Date: Mon, 12 May 2014 02:05:41 GMT
Server: Apache
X-Powered-By: PHP
/5
.3.10
Content-Type: text
/html
|
所以,Apache 服务器的"路径别名"定义:
开启提供路径别名的模块----->定义路径别名---->提供路径的访问权限。
二、Nginx 服务器;
Nginx 服务器定义路径别名比较简单;
但是“alias ”指令只能用在“location ”段里。
1
2
3
4
5
6
7
8
9
10
11
12
|
location
/bbs
{
alias
/lvm/bbs
;
}
[root@node2 ~]
# curl -I http://192.168.203.99/bbs/index.html
HTTP
/1
.1 200 OK
Server: nginx
Date: Mon, 12 May 2014 02:22:00 GMT
Content-Type: text
/html
Content-Length: 31
Last-Modified: Mon, 12 May 2014 02:16:02 GMT
Connection: keep-alive
Accept-Ranges: bytes
|
本文转自成长的小虫 51CTO博客,原文链接:http://blog.51cto.com/9528du/1421021
,如需转载请自行联系原作者