通过固定链接结构传递变量

时间:2012-02-16 作者:gbuckingham89

我有一个WordPress页面,可以通过/住宿/访问。

我想做的是使用URL传入一个参数,即转到/accountment/value1/将加载与/accountment/相同的页面,但仍在浏览器地址栏中显示/accountment/value1/。

我想另一种说法是,我需要能够访问/住宿/在URL末尾添加任何我喜欢的内容,同时保留我在浏览器窗口中输入的URL。

然后,我在页面模板中得到了一些代码,这些代码根据传入页面的值执行不同的操作。

虽然我可以使用查询字符串,但我希望避免这样做,以便保留“漂亮的URL”。

非常感谢您的帮助/建议。

1 个回复
SO网友:gbuckingham89

Solved it!

// Register the variables that will be used as parameters on the url
function add_my_var($public_query_vars) {
    $public_query_vars[] = \'extra_slug\';
    return $public_query_vars;
}
add_filter(\'query_vars\', \'add_my_var\');

// Build the rewrite rules, for the extra parameter
function do_rewrite() {
    add_rewrite_rule(\'(accommodation)/[/]?([^/]*)$\', \'index.php?pagename=accommodation&extra_slug=$matches[2]\',\'top\');
}
add_action(\'init\', \'do_rewrite\');

// The parameter is now accessible
get_query_var(\'extra_slug\')
结束

相关推荐

为什么我的重写规则不起作用?(WordPress htaccess有什么奇怪的地方吗?)

我的ht访问包括:Options +FollowSymLinks RewriteEngine on RewriteCond %{REQUEST_URI} ^/preview/(.*)\\-[0-9]+$ RewriteRule ^/preview/(.*)\\-[0-9]+$ /$1 [R=301,L] 但当我尝试访问以下内容时:http://sg.wyli.co.uk/preview/coronation-street-the-mystery-of-the-missin