如何管理这些“漂亮”的URL - nginx重写或PHP REQUEST_URI解析?

时间:2016-11-02 15:13:03

标签: php nginx url-rewriting

我已经为我网站上的某些页面决定了以下网址方案:

https://www.example.com/photos/years2014,2015,2016/
https://www.example.com/photos/years2016/
https://www.example.com/photos/events123,234/

确保所有这些URI最终都出现在photos.php上是微不足道的,但是将“QS”部分转换为有用的PHP变量的最佳方法是什么?我的网络服务器是nginx,但考虑到我需要将顶部示例重写为

?years[]=2014&years[]=2015&years[]=2016

我不确定重写是否可行?

那么我应该解剖$ _SERVER ['REQUEST_URI']并从那里提取我想要的值吗?

E.g。这些方面的东西:

function fetchPretty(string $var, string $default=''): string
{
    $uri = $_SERVER['REQUEST_URI'];
    $search = '/'.$var;
    $posStart = mb_strpos($uri, $search);

    if ($posStart) {
        $posStart += mb_strlen($search);
        $posEnd = mb_strpos($uri, '/', $posStart);

        if ($posEnd) {
            return mb_substr($uri, $posStart, $posEnd - $posStart);
        }
    }
    return $default;
}

0 个答案:

没有答案