我们有这样的URL页面:
http://example.com/?page_id=3&user_id=5
http://example.com/?page_id=6&user_id=9
等
page_id 和user_id 位于表MySQL数据库中。此表的结构如下:
ID、page\\u ID和user\\u ID
如果我知道ID 我可以查询数据库并获取page_id 和user_id.
Question: 如何进行自定义重定向?该用户可以像这样在短url中使用ID
http://example.com/page/【ID】/
带重定向到
http://example.com/?page_id=[页面id]&用户id=[用户id]
非常感谢。
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\' );