1

我目前正在做一个项目,我需要这个来操纵参数以达到美学目的。

add_rewrite_rule( '([^/]*)/user/([^/]+)','index.php?pagename=$matches[1]&username=$matches[2]', 'top' );
-> would correctly retrieve the userID (in this case 232) from the following URL: http://mysite.com/userlisting/user/232

add_rewrite_rule( '([^/]*)/([^/]*)/user/([^/]+)','index.php?pagename=$matches[1]&username=$matches[2]', 'top' );
-> would correctly retrieve the userID (in this case 232) from the following URL: http://mysite.com/parent_directory/userlisting/user/232

现在我可以添加,比如说其中的 10 条规则,以确保我至少完成了 10 级层次结构,但我想做的是根据当前“用户列表”有多少级别,让它变得有点动态。

任何帮助将不胜感激。

4

1 回答 1

0
 add_rewrite_rule( '([^/]*)/([^/]*)/user/([^/]+)','index.php?pagename=$matches[1]&username=$matches[2]', 'top' );
 -> would correctly retrieve the userID (in this case 232) from the following URL: http://mysite.com/parent_directory/userlisting/user/232

,它不会。

  • $matches[1] 是parent_directory
  • $matches[2] 是userlisting
  • $matches[3] 将是232(即用户 ID)

所以你的内部 URL 是 index.php?pagename=parent_directory&username=userlisting


至于实际,解决问题取决于您要如何处理多个级别,即如何将它们传递给 php,一种可能是

add_rewrite_rule( '(.+?)/user/([^/]+)','index.php?pagename=$matches[1]&username=$matches[2]', 'top' );

在这种情况下会给

index.php?pagename=parent_directory/userlisting&username=232

即,与 url 中存在的一样多的目录将使其进入“页面名称” - 您不会将 / 排除在目录名称的一部分之外。

但是,如果您希望以不同的方式将各种层次结构级别呈现给 PHP,则可以以不同的方式完成。

于 2013-03-26T14:02:58.407 回答