Php WordPress在URL中为用户登录添加\重写\规则
我希望能够在我的URL中使用用户的登录名,然后在页面模板中使用它。像这样: mywebsite.com/admin/users/user/{user\u login} 我尝试了以下方法,但查询_var没有添加到查询中,匹配项总是从URL末尾剥离,如下所示: mywebsite.com/admin/users/user/login-name/--> mywebsite.com/admin/users/user/ 我知道重写正在发生,因为它成功地将我带到“用户”页面,但我似乎无法让用户登录Php WordPress在URL中为用户登录添加\重写\规则,php,wordpress,mod-rewrite,Php,Wordpress,Mod Rewrite,我希望能够在我的URL中使用用户的登录名,然后在页面模板中使用它。像这样: mywebsite.com/admin/users/user/{user\u login} 我尝试了以下方法,但查询_var没有添加到查询中,匹配项总是从URL末尾剥离,如下所示: mywebsite.com/admin/users/user/login-name/--> mywebsite.com/admin/users/user/ 我知道重写正在发生,因为它成功地将我带到“用户”页面,但我似乎无法让用户登录 /* a
/* add query var */
function add_user_query_vars($query_vars){
$query_vars[] = 'user_login';
return $query_vars;
}
add_filter('query_vars', 'add_user_query_vars');
/* add rewrite rule */
function add_user_rewrite_rules($rules){
$user_rules = array('admin/users/user/([a-zA-Z0-9\._-]+)/?$' => 'index.php?pagename=user&user_login=$matches[1]');
$rules = $user_rules + $rules;
return $rules;
}
add_filter('rewrite_rules_array', 'add_user_rewrite_rules');
谢谢 在
.htaccess
文件中这样做怎么样
将其添加到文档根目录中的.htaccess
文件中
RewriteEngine On
RewriteRule ^admin/users/user/([^/]+)/? index.php?pagename=user&user_login=$1 [DPI,L]
这假设mod_rewrite已安装并且已为htaccess文件激活 找到了
您必须在pagename参数中包含完整的页面层次结构。在我的例子中,它是admin/users/user,所以我的重写看起来是这样的,在刷新重写规则之后,它按照预期工作
$user_rules = array('admin/users/user/([a-zA-Z0-9\._-]+)/?$' => 'index.php?pagename=admin/users/user&user_login=$matches[1]');
你试过重建永久链接吗?这可能适用于此。是的,我通过从wp仪表板重新加载permalinks页面来刷新permalinks。是的,如果我通过.htacces进行刷新,同样的问题也会发生。是否有另一个WP重写规则覆盖它?是放置
.htaccess
的文件夹正下方的admin
文件夹?admin是最上面的父页面。管理员>用户>用户--所有页面。