使用ADD_REWRITE_RULE自定义URL重写

时间:2016-04-16 作者:user3735572

我正在尝试创建SEO友好的URL:http:///foto/linse2-at/linse2-at-schloss-altenhof/2618

对于这个:http://?fotograf=linse2 at?画廊=schloss altenhof和;img=2618

按照我的逻辑,这段代码应该可以工作:

    add_rewrite_rule(
    "foto/([^/]+)/([^/]+)/?([0-9]{1,})/?",
    "index.php?fotograf=$matches[1]&gallery=$matches[2]&img=$matches[2]",
    "top");
但生成的规则是(转储全局$wp\\u rewrite):

[foto/([^/]+)/([^/]+)/?([0-9]{1,})/?]=&燃气轮机;指数php?fotograf=&;画廊=&;img公司=

…这不起作用。

似乎缺少“$匹配项[1]”。

感谢您的投入!

1 个回复
SO网友:user3735572

手动更新重写规则,如下所示对我有效:

 function gallery_rewriterules( $wp_rewrite ) {

  $new_rules = array( "hochzeitsfotografen/([^/]+)/([^/]+)/?([0-9] {1,})/?" => "index.php?fotograf=".$wp_rewrite->preg_index(1)."& gallery=".$wp_rewrite->preg_index(2)."&img=".$wp_rewrite->preg_index(3));
  $wp_rewrite->rules = $new_rules + $wp_rewrite->rules;  
  }
  add_filter(\'generate_rewrite_rules\',\'gallery_rewriterules\');

相关推荐