Wordpress网址重写问题页面有自定义模板

时间:2015-04-09 05:52:29

标签: php wordpress .htaccess

我有一个url重写问题。从wp-admin创建的页面,其中标题假设配置文件和自定义模板被分配给配置文件页面。我为网站使用了自定义永久链接结构(/%postname%)。

现在我希望网址如下所示:

http://www.example.com/profile/abc2015

目前我正在传递像

这样的查询字符串

http://www.example.com/profile/?pagename=profile&name=abc2015

我尝试在主题的函数.php中使用以下代码:

 <?php  
      function custom_rewrite_rule() 
      {   
         add_rewrite_tag('%name%', '([^&]+)');           
         add_rewrite_rule('^profile/([^/]*)/?$','index.php?pagename=profile&name=$matches[1]','top');    
      }
      add_action('init', 'custom_rewrite_rule'); 
    ?>

我找不到任何解决方案。有人可以帮忙吗?

谢谢

1 个答案:

答案 0 :(得分:1)

试试这个

function create_new_url_querystring() {
    add_rewrite_rule(
        '^profile/([^/]*)$',
        'index.php?pagename=profile&name=$matches[1]',
        'top'
    );

    add_rewrite_tag('%name%','([^/]*)'); } add_action('init', 'create_new_url_querystring');

这未经过测试,但希望这会有所帮助。 另一个可能有助于你的工作的有用信息。

刷新重写规则

当您更改WordPress URL结构或添加新的重写规则时,需要使用新的URL规则更新WordPress数据库,以便了解如何从给定的URL搜索您的帖子。 有时您会遇到更改URL结构的问题,而WordPress会为您的帖子返回404页面。这可能是因为重写规则没有正确刷新。

有几种方法可以刷新固定链接规则。 首先,您可以导航到永久链接页面设置 - &gt;固定链接并更改固定链接单击“保存”按钮,然后将其更改回原来的状态。这将刷新您网站上的所有重写规则,并且应显示您的自定义帖子类型。 其次,您可以打开phpMyAdmin,导航到wp_options表并从该表中删除重写规则记录。下次加载WordPress时,如果它们不在那里,将检查此表中的重写规则,然后它将重新生成规则。

第三个选项是将函数flush_rewrite_rules()置于寄存器重写规则之下。这将完全刷新重写规则并修复重定向的任何问题。

flush_rewrite_rules();