【问题标题】:nginx rewrite rule haven't resultnginx重写规则没有结果
【发布时间】:2016-07-05 21:01:13
【问题描述】:

我尝试使用 nginx 的重写来更改 url,例如

    <domain>/index.php?mode=a/b

    <domain>/a/b 

但我的尝试没有结果。

    location / {
    rewrite ^(.*)$ index.php?mode=$1 break;
    }

这有什么问题?

【问题讨论】:

    标签: mod-rewrite nginx url-rewriting rewrite nginx-location


    【解决方案1】:

    有多个问题:

    • 所有 nginx URI 都有一个前导 /(与 Apache 不同)
    • .php 文件将在不同位置处理(推测为location ~ \.php$,因此break 应替换为last

    试试这个:

    location / {
        rewrite ^/(.*)$ /index.php?mode=$1 last;
    }
    

    详情请见this document

    【讨论】:

      猜你喜欢
      • 2010-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-22
      • 2015-03-04
      • 2013-08-05
      • 2013-10-12
      相关资源
      最近更新 更多