nginx 目录自动加斜线”/”

Posted WebEnh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx 目录自动加斜线”/”相关的知识,希望对你有一定的参考价值。

默认配置当你访问http://abc.example.com/dir 时不会加”/”

常见做法 

     if (-d $request_filename){
  rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
      }

 

更佳的替代方法

optimize_server_names off;#优化服务器名称:关
server_name_in_redirect off;#服务器名称重定向:关

http://wiki.codemongers.com/Ngin ... timize_server_names

 

最佳方法在nginx.conf 在http或server加入

http{
...
server_name_in_redirect off;
...
}

官方http://wiki.nginx.org/NginxHttpCoreModule#optimize_server_names说明

Note: this directive is deprecated in nginx 0.7.x, use server_name_in_redirect instead.
备注 这指令nginx 0.7.x已不支持,用server_name_in_redirect代替

国内搜索到两种方法
第一种方法 用rewrite补上/
if (-d $request_filename){ rewrite ^/(.*)([^/])$ /$1$2/ permanent; }

第二种方法
optimize_server_names off;  
#optimize_server_names 已不支持了 我在nginx 0.8 加上这个会报错的
server_name_in_redirect off;

以上是关于nginx 目录自动加斜线”/”的主要内容,如果未能解决你的问题,请参考以下文章

nginx rewrite二级目录跳转带斜线

window下nginx目录斜线转义问题

nginx配置proxy_pass URL末尾加与不加/(斜线)的区别

nginx 配置proxy_pass URL末尾加与不加/(斜线)的区别

rsync+inotify实现实时同步

Nginx架构篇(16)Rewrite - 访问目录URL自动添加“/”