`
417755712
  • 浏览: 5424 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

nginx目录自动加斜杠

阅读更多
此文章为转载文章。
今天配置Nginx时,我设置了一个域名: http://www.yuhongchun027.com ,下面有web目录为www;现在的问题就是如果我访问 http://www.yuhongchun027.com/www/ 就可以显示出地址,但如果我访问 http://www.yuhongchun027.com/www 结果却提示说找不到所需要的页面。哈哈,又开始犯老错了,nginx不会自动在请求的最后加上一个/的,原因是nginx不会自动判断请求的是一个文件还是一个目录,解决方法为:
在配置文件中location里加入如下代码
if (-d $request_filename) {
rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
}
这样再对 http://www.yuhongchun027.com/www 请求,nginx就会进行判断了,如果请求的是一个文件夹,会自动在最后加上/符号,如果请求的是一个文件,则不会改变原有url
接下来对这段代码进行一个解释
1、if (-d $request_filename),如果请求的是一个文件夹,则为真,进到if语句中执行
2、rewrite是执行url重写操作
3、^/(.*)([^/])$表示以/符号开始并紧跟着任何字符,同时不是以/为结束的字符串,在我的url中,(.*)表示的ww,([^/])表示的w
4、 http://$host/$1$2/ 表示的重写后的地址,$host是请求的域名,$1是前面第一个括号里的内容ww,在我的url里就是wordpres $2是前面第二个括号里的内容,在我的url里是w
5、permanent表示,返回永久重定向的HTTP状态301
分享到:
评论

相关推荐

    nginx url自动加斜杠及301重定向的问题

    nginx url自动加斜杠问题及301重定向,URL指向一个目录并且在最后没有包含斜杠,会301重定向跳转,添加server_name或修改访问重定向。 nginx url自动加斜杠问题及301重定向 内部服务器使用nginx,做网站测试之用。...

    配置解决Nginx服务器中WordPress路径不自动加斜杠问题

    接下来,针对WordPress路径不自动加斜杠的具体配置步骤,首先是编辑Nginx的配置文件。通常情况下,Nginx的配置文件位于/usr/local/nginx/conf/目录,但根据实际情况,如果使用了自定义配置文件目录,则需要在对应的...

    nginx配置文件中斜杠/的6种含义

    以下是`proxy_pass`指令中斜杠的不同含义,以及不写斜杠的情况: 1. **不包含斜杠**:当`proxy_pass`后面不带斜杠时,例如`proxy_pass http://backend;`,Nginx会将请求的URI与代理服务器的URL进行拼接。这意味着...

    Nginx反斜杠自动解码问题解决方法

    在官方文档中,可能没有直接提供阻止Nginx自动解码的配置选项。因此,我们需要采取变通的方法来解决这个问题。一种常见的解决方案是,通过二次编码来防止Nginx的自动解码。具体操作是在应用端(如PHP)先对关键词...

    nginx伪静态隐藏.php后缀,在url后补斜杠/

    ### Nginx 伪静态配置详解:隐藏 .php 后缀并在 URL 后自动补充斜杠 在 Web 开发中,为了提升用户体验、优化搜索引擎收录效果以及增强网站的专业度,通常会采用伪静态技术来对动态页面进行 URL 的美化处理。Nginx ...

    nginx配置域名访问时域名后出现两个斜杠//的解决方法

    在配置Nginx服务器时,如果遇到输入域名后地址自动追加两个斜杠“//”的问题,这通常是由于配置文件中缺少了一个斜杠“/”导致的。在Nginx中,location块用于定义如何处理不同路径的HTTP请求,而当location块配置...

    Nginx服务器中设置禁止访问文件或目录的方法

    在Nginx服务器环境中,有时为了保护敏感信息或者优化网站性能,我们需要禁止用户访问特定的文件或目录。本文将详细讲解如何在Nginx配置中实现这一目标。 首先,Nginx采用模块化的架构,通过配置文件(通常为`nginx....

    2019年BATJ最新面试414道题(含答案解析)Nginx篇.pdf

    在Nginx中,通常URL中不会出现连续两个斜杠(//),因为Nginx会将它们解析为一个斜杠。要在URL中保留双斜线,可以使用rewrite规则,例如:rewrite ^/(.*)// /$1 permanent;。 ngx_http_upstream_module是Nginx的...

    Nginx实战进阶.pptx

    如果某个服务器出现故障,Nginx会自动将其从负载列表中移除。此策略简单公平,适用于所有服务器性能相当的情况。 2. **权重轮询策略** 在不同服务器性能不均的情况下,可以通过`weight`参数设定每个服务器的轮询...

    第八讲Nginx实战进阶.pptx

    - **Proxy_pass后的URL加不加/的区别**:根据示例可以看到,proxy_pass后面的URL是否以斜杠结尾会导致最终代理的目标URL有所不同,这对于正确配置代理非常重要。 综上所述,Nginx提供了强大的负载均衡和调度策略,...

    详解Nginx 静态文件服务配置及优化

    ` 表示如果目录中存在`index.html`或`index.htm`,Nginx将自动返回这些文件。如果不存在,Nginx将返回404错误。 3. **autoindex** 指令:如果设置为 `on`,Nginx将为没有默认索引文件的目录生成一个目录列表。例如...

    详解基于Vue,Nginx的前后端不分离部署教程

    确保路径配置正确,斜杠使用统一。 5. 在test.conf文件中进行配置,具体包括监听端口、服务器名称、指定静态文件根目录等。其中,autoindex on的作用是将请求的文件自动映射到index.html页面,以便前端路由能够在...

    Laravel开发-phpnet-laravel-trailing-slash

    它会自动将不带尾随斜杠的路由重定向到带斜杠的版本。这是通过`Facades\Route`的`strict`选项实现的,当`strict`设置为`true`时,Laravel会确保所有定义的路由都具有匹配的尾随斜杠版本。 要在Laravel中自定义尾随...

    终版静态服务器开发文档2

    当用户访问路径不明确时,服务器会自动导向预设的默认目录,展示其中的所有文件。这个功能涉及到了文件名的编码和解码问题,特别是对于中文字符的处理。服务器会先解码文件名,然后根据S_ISDIR()函数判断是否为目录...

    Linux部署dotnet环境

    **迁移 Linux**\n确保所有文件和配置都适应Linux环境,例如,路径分隔符应使用正斜杠`/`而不是反斜杠`\\`。\n\n2.5. **VS2017 开发 ASP.NET Core 程序部署 Linux**\n2.5.1. **VS 创建 ASP.NET Core 程序**\n在...

Global site tag (gtag.js) - Google Analytics