说明
对于这样某个url来说,假设其站点在主机上的/var/www/
目录下,若该目录下的结构是这样(图示结构为本站的目录结构):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
| ├─2016 │ ├─03 │ │ ├─25 │ │ │ └─hello-world │ │ ├─26 │ │ │ └─First-day │ │ └─28 │ │ └─ubuntu-touchpad │ ├─04 │ │ ├─03 │ │ │ └─Lake-Counting │ │ └─26 │ │ └─start │ ├─07 │ │ └─03 │ │ └─Minecraft-server │ │ └─images │ ├─10 │ │ └─20 │ │ └─Aria2c │ ├─11 │ │ ├─25 │ │ │ └─High-Speed-transfer │ │ └─26 │ │ ├─4-四元数与欧拉角 │ │ └─NOIP2016 │ └─12 │ ├─05 │ │ └─NOIP2016更改 │ ├─09 │ │ └─Dynamic-programming │ ├─23 │ │ └─zheyilu │ └─31 │ └─such-a-program ├─2017 │ └─01 │ ├─06 │ │ └─who-am-I │ ├─08 │ │ ├─error-in-Linux-when-use-C-language │ │ └─install-node-js-on-a-Linux-OS │ ├─09 │ │ └─install-node-js-on-raspberry-3B │ ├─10 │ │ └─Ferryman │ ├─12 │ │ └─replace-background-image-of-ubuntu-when-login-in-to-it │ ├─16 │ │ └─home │ ├─19 │ │ └─NOIP-2015-Message │ └─25 │ └─use-proxy-in-terminal ├─about ├─archives │ ├─2016 │ │ ├─03 │ │ ├─04 │ │ ├─07 │ │ ├─10 │ │ ├─11 │ │ ├─12 │ │ └─page │ │ └─2 │ ├─2017 │ │ └─01 │ └─page │ ├─2 │ └─3 ├─css ├─images ├─js │ └─src │ └─schemes ├─lib │ ├─algolia-instant-search │ ├─fancybox │ │ └─source │ │ └─helpers │ ├─fastclick │ │ └─lib │ ├─font-awesome │ │ ├─css │ │ └─fonts │ ├─jquery │ ├─jquery_lazyload │ ├─ua-parser-js │ │ └─dist │ └─velocity ├─page │ ├─2 │ └─3 └─tags ├─C ├─Games ├─hexo ├─Linux ├─node-js ├─NOIP ├─raspberry ├─technology ├─tecnology ├─Ubuntu ├─ubuntu-touchpad-触控板调节 ├─wanwan ├─乱七八糟 ├─动态规划 ├─学术 ├─小窍门 ├─文学 ├─深度优先搜索 ├─竞赛 └─算法
|
此时,若是直接访问hushuangpu.xyz/tags
看到的是站点目录下的tags
文件夹内的内容。若是想要访问hushuangpu.xyz/src
,且src指向的内容不在站点目录里面,该怎么弄?于是有了此文。
实战
这里用Nginx
实现,只需要更改nginx的配置文件就好,若无意外,正常的nginx的配置文件内容应该如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; server { listen 80 default_server; listen [::]:80 default_server; server_name _; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { root /usr/share/nginx/html; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } }
|
我的站点文件全部放在/usr/share/nginx/html
目录里面了,然后我想让hushuangpu.xyz/src
指向另外一个目录,比如/var/resource
,在配置文件内添加如下内容:
1 2 3 4 5 6 7 8
| charset utf-8;#指定文件名编码,防止中文乱码,若是在Windows上使用,应该将其utf-8改成gbk client_max_body_size 4G;#限制单个最大文件的体积 location /src {#这行的src就是hushuangpu.xyz/src里面的src alias /usr/resource/;#更改目录指向 autoindex on;#建立目录 autoindex_exact_size off;#显示文件体积 autoindex_localtime on;显示时间 }
|
本站实现示范如下:
其它说明
在上文中,代码
1 2 3 4 5 6 7 8
| charset utf-8;#指定文件名编码,防止中文乱码,若是在Windows上使用,应该将其utf-8改成gbk client_max_body_size 4G;#限制单个最大文件的体积 location /src {#这行的src就是hushuangpu.xyz/src里面的src alias /usr/resource/;#更改目录指向 autoindex on; autoindex_exact_size off; autoindex_localtime on; }
|
其实是在/usr/resource
建立了以个静态文件服务器,若是要当成web服务器
则要改成这样
1 2 3 4 5
| charset utf-8;#指定文件名编码,防止中文乱码,若是在Windows上使用,应该将其utf-8改成gbk client_max_body_size 4G;#限制单个最大文件的体积 location /src {#这行的src就是hushuangpu.xyz/src里面的src alias /usr/resource/;#更改目录指向 }
|
生命重在折腾