Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.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
Wordpress 如何随机化主页_Wordpress_Apache_.htaccess - Fatal编程技术网

Wordpress 如何随机化主页

Wordpress 如何随机化主页,wordpress,apache,.htaccess,Wordpress,Apache,.htaccess,我们正在为基于Wordpress的网站测试不同的主页。我们希望访问的人随机登陆,这样我们就可以确定每个设计中有多少人遵循注册流程 我们有广告词活动,直接到相应的主页(A,B,C或D)点击,但域名只是一个,当然。如果有人键入URL,他们将被定向到一个域(Home A) 我们的登录页面如下: Home A: www.mydomain.com Home B: www.mydomain.com/?page_id=119 Home C: www.mydomain.com/?page_id=132 Home

我们正在为基于Wordpress的网站测试不同的主页。我们希望访问的人随机登陆,这样我们就可以确定每个设计中有多少人遵循注册流程

我们有广告词活动,直接到相应的主页(A,B,C或D)点击,但域名只是一个,当然。如果有人键入URL,他们将被定向到一个域(Home A)

我们的登录页面如下:

Home A: www.mydomain.com
Home B: www.mydomain.com/?page_id=119
Home C: www.mydomain.com/?page_id=132
Home D: www.mydomain.com/?page_id=153
我正试图通过.htaccess来完成此操作,但无法使其工作。你能建议一条路吗

在一个循环中,我们可以让一些人在“家C”着陆,下一个人在“家D”着陆,下一个人在“家A”着陆,等等。这不是真正的随机,但它对我们有效,因为它确保“一个随机的人会在随机的主页上登陆”

附言:我们留下了一个cookie,以确保注册的访客能够访问相同的主页。使用的方法也应考虑到这一点

谢谢大家!
Miguel

如果您对站点使用SQL,您可以为每次访问增加一个整数,并将其模块化4[因为您的网络中有4个主页],然后根据该整数加载主页并拨打电话。
在这种情况下,即使用户从移动设备访问网络,您也可以对主页进行4次不同的调用。

您可能希望使用URL数组和0到3的随机整数编辑index.php,这将随机返回列表中的一个URL。

不可能通过.htaccess随机重定向。您需要做的是从wordpress索引文件中重定向

下面是我将在index.php中首先包含的一些示例:

<?php 

if(empty($_GET)){//user is trying to access home page
 $homePages = array("www.mydomain.com/?page_id=119", "www.mydomain.com/?page_id=132", "www.mydomain.com/?page_id=153");
  $randomHome = "";
  if (isset($_COOKIE["randomHome"])){
      $randomHome = $_COOKIE["randomHome"];
  }
 else{
  $randomHome = $homePages[array_rand($homePages)];//get home page from a random index
  $_COOKIE["randomHome"] = $randomHome;
 }
  header("Location: " . $randomHome);
}
//and here goes rest of your wordpress index.php

除php解决方案外,如果您有权访问服务器的配置或vhost配置,则可以创建一个随机配置。因此,您会在某个地方有一个文件,它看起来像(比如说它被称为home\u pages.txt):

然后在apache的服务器或vhost配置中声明映射:

RewriteMap home rnd:/path/to/file/home_pages.txt
然后,您可以在vhost、server或文档根目录中的htaccess文件中添加:

RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteRule ^/?$ ${home:home} [L]
此规则必须在htaccess文件中已有的任何规则之前

第一个条件使任何内部重定向都完全跳过规则(防止循环)。然后规则声明对
/
(主页)的请求调用重写映射的“home”散列(这就是为什么文件中的每个URI前面都有一个“
home
”),并随机抽取其中一个并在内部重定向到该URI


浏览器位置栏中的URL保持为
http://example.com/
但是他们会从“home\u pages.txt”文件中获得一个随机页面。

谢谢!我将实施和检查哪个选项对我们有效。Codefreak,谢谢你的建议。我们首先尝试了.htaccess,但无法使其工作,并且不想在有其他解决方案时花费太多时间。我们使用PHP并在DB中留下一个变量来保存该系列(如果不是每个访问者都从“1”开始)。cookie可以确保访问者在以后的访问中登录到相同的主页。谢谢大家。我在寻找类似于林乔恩的答案。我将测试PHP和.htacess建议,然后返回结果。谢谢大家。我在寻找类似于林乔恩的答案。我将测试PHP和.htacess建议,然后返回结果
RewriteMap home rnd:/path/to/file/home_pages.txt
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteRule ^/?$ ${home:home} [L]