【问题标题】:Pretty URL/Clean URL + nginx漂亮的 URL/干净的 URL + nginx
【发布时间】:2015-04-23 17:56:05
【问题描述】:

我正在尝试让 example.com/language/en 指向 example.com/language?lang=en 我已经让 @language 工作(有点,我在其中解释了一些错误最后)但不幸的是我不知道如何使@language和@extensionless-php同时工作,我通过删除位置/中的@extensionless-php并添加@来测试@language代码地点。 而且它现在的方式接受多个像这样的参数 //example.com/language/en/en/en 我希望它在语言之后有超过 1 个 / 时返回 404 错误

当前配置:

location / {
    try_files $uri $uri.html $uri/ @extensionless-php;
}

location @extensionless-php {
    rewrite ^(.*)$ $1.php last;
}

location @language {
    rewrite ^/language/(.*)$ /language.php?lang=$1 last;
}

【问题讨论】:

    标签: nginx clean-urls pretty-urls


    【解决方案1】:

    答案只是从@language 中删除rewrite ^/language/(.*)$ /language.php?lang=$1 last;,编辑正则表达式,以便当URI 为/language/en/ 时会出现404 错误

    location / {
        try_files $uri $uri.html $uri/ @extensionless-php;
    }
    
    location @extensionless-php {
        rewrite ^(.*)$ $1.php last;
    }
    
    rewrite ^/language/([^/]+)$ /language.php?lang=$1 last;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-27
      • 1970-01-01
      • 1970-01-01
      • 2010-11-24
      • 2013-08-30
      • 1970-01-01
      相关资源
      最近更新 更多