将URL重写为SEO友好格式

时间:2015-04-21 作者:cgscolonia

我正在使用一个会员插件,我想更改用户配置文件URL。

Url示例:

http://rec-orders.de/?p_action=user_profile&post_author=2044

这是新Url的外观:

http://rec-orders.de/fotograf/username-2044

有什么想法吗?谢谢并致以亲切的问候,

克里斯

1 个回复
SO网友:TheGentleman

最简单的方法是使用内置$wp_rewrite 全球的这样的事情应该给你一个良好的开端:

function new_rewrite_rules(){
    global $wp_rewrite;
    $keytag = \'%user_id%\';
    $wp_rewrite->add_rewrite_tag($keytag, \'(.+?)\', \'user=\');
    $structure = $wp_rewrite->root . "username-$keytag/";
    $rewrite = $wp_rewrite->generate_rewrite_rules($structure);                
    if(!is_array($wp_rewrite->rules)) $wp_rewrite->rules = array();
    $wp_rewrite->rules = $rewrite + $wp_rewrite->rules;
    return $wp_rewrite->rules;
}
然后通过访问循环中的变量$wp_query->query_vars[\'user\'].

请注意,这只会使您的URL模式有效,为了显示新的URL,您必须更改成员插件中生成链接的方式,以便它们与您的模式匹配。理想情况下,插件将有一个过滤器,允许您更改它。

结束

相关推荐

包含在另一个页面中的页面和SEO的重复内容问题

在最近的一个项目中,我决定创建一个页面模板(PageX),它是一种子页面的“堆栈”。此模板仅包括其他三个单独页面(PageA、PageB、PageC)的内容。我现在正试图找到避免SEO重复内容的最佳方法,因为Wordpress会自动为这3个子页面创建特定的永久链接。有没有办法告诉Wordpress这些页面不能有永久链接?