如何使Nginx重写与别名配合使用?

韦恩·沃纳(Wayne Werner)

此问题类似,nginx重写也存在问题。

这是我的nginx conf:

server {                                                                           
    listen 80;                                                                     
    server_name myserver.com www.myserver.com;                               
    index index.html;                                                              
    root /var/www/myserver.com/site/;                                           

    location /blog {                                                               
        alias /var/www/myserver.com/blog/output/;                               
        break;                                                                     
    }                                                                              

    location / {                                                                   
        autoindex on;                                                              
        try_files $uri $uri/ @htmlext;                                             
    }                                                                              

    location /.hg {                                                                
        deny all;                                                                  
        return 404;                                                                
    }                                                                              

    location ~ \.html$ {                                                           
        try_files $uri =404;                                                       
    }                                                                              

    location @htmlext {                                                            
        rewrite ^(.*)$ $1.html last;                                               
    }                                                                              

    error_page 500 502 503 504 /media/50x.html;                                    
}                                    

看来问题出在location ~ \.html规则上。当我删除它时,它工作正常。

我已经尝试了多种方法,例如:

  • location /blog指令上移到顶部(以前在底部)
  • break;作为链接的问题提出。

到目前为止,似乎没有任何工作。在当前配置中,我得到了404,这也显示在404中access.log

我该如何进行重写工作以隐藏.html扩展名,还可以让我提供blog/output/内容?

韦恩·沃纳(Wayne Werner)

这个问题最怪异的答案完全来自于这个答案

location ^~ /blog {
        alias /var/www/myserver.com/blog/output/;                               
        break;
}

老实说,即使阅读了文档,我仍然无法解释为什么这样做。我知道这与regex的匹配行为有关,^~但仅此而已。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使Nginx重写与别名配合使用?

来自分类Dev

如何使Zend Framework 2与Nginx配合使用?

来自分类Dev

如何使Zend Framework 2与Nginx配合使用?

来自分类Dev

nginx:如何使用别名路由不同的路径

来自分类Dev

如何在Nginx中使用重写?

来自分类Dev

如何使用Nginx重写到子域?

来自分类Dev

使用 Nginx 重写 URL

来自分类Dev

如何使用Nginx别名从其他目录加载PHP?

来自分类Dev

如何使用Nginx别名从其他目录加载PHP?

来自分类Dev

如何在文档根外部的别名目录中使用.htaccess使用重写规则

来自分类Dev

如何在重写语句中使用nginx if的参数$ 1

来自分类Dev

如何使用Nginx为小型api配置重写规则?

来自分类Dev

如何在重写语句中使用nginx if的参数$ 1

来自分类Dev

nginx:如何重写URL以使用www和https

来自分类Dev

如何使用nginx重写URL以匹配服务器?

来自分类Dev

如果参数不是数字,如何使用 Nginx 重写?

来自分类Dev

如何使jQuery与Underscore配合使用?

来自分类Dev

如何让jQuery与Underscore配合使用?

来自分类Dev

导航如何与 ViewModelLocator 配合使用?

来自分类Dev

如何使用-作为别名?

来自分类Dev

Spring Sidecar如何与Docker配合使用

来自分类Dev

如何让Glimpse与EF6配合使用?

来自分类Dev

SagePay如何与PayPal Express Checkout配合使用?

来自分类Dev

如何使色彩与golang制表器配合使用?

来自分类Dev

如何使%in%与R中的字符配合使用?

来自分类Dev

如何将配对与光子配合使用?

来自分类Dev

ImmutableJS如何与Angular 2配合使用?

来自分类Dev

如何使图案与输入数字配合使用?

来自分类Dev

如何使TypeScript与jQuery插件配合使用?

Related 相关文章

热门标签

归档