高峰之巅 发表于 2018-11-22 12:23:33

Apache 服务器和 Nginx 服务器使用“路径别名”的异同

  一、Apache 服务器;
使用的指令: Alias /webpath       /full/filesystem/path
是由”alias_module 模块,提供路径别名的功能的。
所以,如果模块 alias_module 不存在,提供“路径别名”也是没有用的,甚至会报错“404 Not Found”。所以要先判断下该模块是否存在。
由于 Apache 提供指令“” 判断模块是否存在, 存在则使用“路径别名”

    Alias /bbs   /lvm/html
  Apache 必须使用容器提供访问权限,才能通过 http://192.168.203.99:8080/bbs访问路径别名下的网页文件的。
否则会报: 403 Forbidden
# need to provide asection to allow access to the filesystem path.
# 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  增加文件系统路径允许访问权限:

    Alias /bbs   /lvm/html


    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
  再次测试是否能够正常访问?
# 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 ”段里。
location /bbs {
      alias/lvm/bbs;
}
# 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


页: [1]
查看完整版本: Apache 服务器和 Nginx 服务器使用“路径别名”的异同