将mod_rewrite用于用户页面

时间:2015-06-14 17:03:54

标签: php .htaccess mod-rewrite

所以现在,当你使用我的搜索功能搜索用户并转到他们的页面时,你会得到类似的东西。 “http://www.mywebsite.com/profile/?pid=username

该页面上的php然后获取GET变量,并运行查询以获取所需的所有信息。

我很想摆脱?pid = part并且只是“http://www.mywebsite.com/profile/username

但我无法理解谷歌在此特定网址上获得的任何结果。大多数示例涉及PHP文件,我使用wordpress并通过execphp嵌入我的php。

1 个答案:

答案 0 :(得分:1)

这应该适用于RewriteEngine On RewriteRule ^/profile/([^/]*)$ /profile/?pid=$1 [L] 文件:

 public static string ToRanges(this List<int> ints)
    {
        ints.Remove(0); // Note: Remove this if you like to include the Value 0
        if (ints.Count < 1) return "";
        ints.Sort();
        var lng = ints.Count;
        if (lng == 1)
            return ints[0].ToString();

        var fromnums = new List<int>();
        var tonums = new List<int>();
        for (var i = 0 ; i < lng - 1 ; i++)
        {
            if (i == 0)
                fromnums.Add(ints[0]);
            if (ints[i + 1] > ints[i] + 1)
            {
                tonums.Add(ints[i]);
                fromnums.Add(ints[i + 1]);
            }
        }
        tonums.Add(ints[lng - 1]);


        string[] ranges = Enumerable.Range(0, tonums.Count).Select(
            i => fromnums[i].ToString() +
                (tonums[i] == fromnums[i] ? "" : "-" + tonums[i].ToString())
        ).ToArray();

        if (ranges.Length == 1)
            return ranges[0];
        else
            return String.Join(",", ranges);
    }