我正在Wordpress中使用一个自定义登录页面,并且我在functions.php中安装了一个脚本,该脚本重定向到一个自定义的“错误登录”页面(在登录URL中添加参数),因此它可以显示同一页面中的错误,而不是本机登录页面。
但在某些情况下,当某人在尝试访问私有页面后被重定向到该登录页面时,该登录页面已经包含了一些参数。
例如:
>
常规情况:他们尝试访问:website.com/login。如果尝试登录时出现错误,我的脚本重定向到website.com/login?login=empty,他们可以再试一次。
有问题的情况:它们试图访问website.com/protected-page/private时,它们被自动重定向到website.com/login?members=%2fprotected-page%2fprivate%2。如果尝试登录时出现错误,我的脚本实际上会重定向到website.com/login?login=empty(与常规情况相同),而我所要实现的是,在出现错误时重定向到website.com/login?members=%2fprotected-page%2fprivate%2&login=empty。
在URL中保留此“?members”参数允许表单在成功登录后重定向到它们之前试图访问的前一页。否则,在常规情况下,它们将被重定向到常规仪表板。
实际管理错误时重定向的脚本如下所示:
add_action('authenticate','check_username_password',1,3);函数check_username_password($login,$username,$password){
$referrer = $_SERVER['HTTP_REFERER'];
if( !empty( $referrer ) && !strstr( $referrer,'wp-login' ) && !strstr( $referrer,'wp-admin' ) ) {
if( $username == "" || $password == "" ){
wp_redirect( get_permalink( 20 ) . "?login=empty" );
exit;
}
}
因此这里创建错误URL的重要部分是:
wp_redirect( get_permalink( ID ) . "?login=empty" );
如果执行“echo$_get[”wlfrom“];”,则可以使用“$_get[”members“]”获得其他UTL参数。它成功地在页面中显示参数。但即使看起来如此简单,我也无法将这个参数添加到URL中。到目前为止我所尝试的:
#1. wp_redirect( get_permalink( ID ) . "?members=" . $_GET["members"] . "?login=empty" );
#2. wp_redirect( get_permalink( ID ) . "?members=" . echo $_GET["members"] . "?login=empty" );
#3. $param = array('members');
wp_redirect( get_permalink( ID ) . "?members=" . $param . "?login=empty" );
//This one returns website.com/?members=array/?login=empty
#4.$param = $_SERVER["PHP_SELF"];
wp_redirect( $param . "?login=empty" );
// This one I cannot use because it displays the native login URL, not my permalink, that's why I need to use "get_permalink" for the first part of the URL
以及其他各种解决方案。我是一个新手,所以我找不到其他的解决方案来创建这个新的URL的基础上前一个,我也不确定是否使用GET的方式也去。
为了使用当前URL中的参数,我应该用什么填充“wp_redirect”?
谢谢!
在wordpress自定义登录表单中添加一个隐藏字段
<input type="hidden" name="members" value="<?php echo @$_REQUEST['members']; ?>">
并更改这些
wp_redirect( get_permalink( ID ) . "?login=empty" );
与
<?php
$queryarg='?login=empty';
if(isset($_REQUEST['members']) && $_REQUEST['members']!=''){
$queryarg .='&members='$_REQUEST['members'];
}
wp_redirect( get_permalink( ID ) . $queryarg );
?>
问题内容: 在JavaScript中,我想将一个变量设置为URL的GET部分中参数的值。 因此在JavaScript中: 会是什么? 问题答案: 这是一些。
问题内容: 我正在尝试将URL作为php中的url参数传递,但是当我尝试获取此参数时我什么也没收到 我正在使用以下网址形式: 我正在努力通过: 但是什么也没回来。问题是什么? 问题答案: 不是函数或语言构造,而只是一个变量(数组)。尝试: 特别是,它是一个超全局变量:一个由PHP填充的内置变量,并且在所有作用域中都可用(您可以在没有global关键字的函数内部使用它)。 由于该变量可能不存在,因此
问题内容: 我正在尝试让Alamofire在GET请求中发送以下参数,但它发送的是乱码: 这是我的代码: 输出 {“ $ and”:[{“ name”:{“ $ bw”:“ duke”},“ country”:“ gb”}]} 这是我的参数要求: 这是AlamoFire发送的: 如您所见,filter参数是一团糟。我究竟做错了什么? 问题答案: 默认情况下,Alamofire使用POST正文中的“
转到http://localhost:8080的结果是重定向:/birdspotting的打印
在Spring Boot中创建代理服务,它监听多个端口,并将GET请求重定向到一个新的URL 请求仍然来自的旧URL-http://localhost:7010/dntservice?cptyxxx=89959623213123和portfolioxxx=03880774324234到新URL-http://wasp-uat-na.net/dntservice?cptyxxx=8995962321
问题内容: 如何将与其他URL不匹配的流量重定向回首页? urls.py: 就目前而言,最后一个条目将所有“其他”流量发送到主页,但是我想通过HTTP 301或302进行重定向。 问题答案: 你可以尝试称为 RedirectView `from django.views.generic.base import RedirectView urlpatterns = patterns(‘’, url(