Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WordPress在URL中为用户登录添加\重写\规则_Php_Wordpress_Mod Rewrite - Fatal编程技术网

Php WordPress在URL中为用户登录添加\重写\规则

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

我希望能够在我的URL中使用用户的登录名,然后在页面模板中使用它。像这样:

mywebsite.com/admin/users/user/{user\u login}

我尝试了以下方法,但查询_var没有添加到查询中,匹配项总是从URL末尾剥离,如下所示:

mywebsite.com/admin/users/user/login-name/--> mywebsite.com/admin/users/user/

我知道重写正在发生,因为它成功地将我带到“用户”页面,但我似乎无法让用户登录

/* 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是最上面的父页面。管理员>用户>用户--所有页面。