使用SQL进行自定义重定向

时间:2015-03-04 作者:City

我们有这样的URL页面:

http://example.com/?page_id=3&user_id=5

http://example.com/?page_id=6&user_id=9

page_iduser_id 位于表MySQL数据库中。此表的结构如下:

ID、page\\u ID和user\\u ID

如果我知道ID 我可以查询数据库并获取page_iduser_id.

Question: 如何进行自定义重定向?该用户可以像这样在短url中使用ID

http://example.com/page/【ID】/

带重定向到

http://example.com/?page_id=[页面id]&用户id=[用户id]

非常感谢。

1 个回复
SO网友:City

我为短url编写了函数。也许这对某人有帮助:

function short_url(){
    global $post;
    if (preg_match(\'/^http:\\/\\/example.com\\/page\\/[0-9]{1,4}$/\', "http://".$_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]))
    { 
        $my_id = intval(preg_replace(\'/[^0-9]+/\', \'\', $_SERVER["REQUEST_URI"]), 10);
        global $wpdb;
        $myquery = $wpdb->get_row($wpdb->prepare("SELECT * FROM wp_mytable WHERE ID=%d", $my_id));
        $short_url="http://example.com/?page_id=".$myquery->page_id."&user_id=".$myqery->user_id;

        wp_redirect($short_url);
        exit();
    }
}
add_action( \'template_redirect\', \'short_url\' );

结束

相关推荐

Facebook php SDK 4 getSessionFromReDirect()始终为空

我已经安装了wordpress 4.1和以下插件:我插入了facebook sdk的一个功能。代码如下://Footer add_action(\'wp_footer\', \'my_footer\'); function my_footer() { $post_to_check = get_post(get_the_ID()); if ( is_singular() && has_shortcode( $post_to_check->