【问题标题】:redirect to mobile website using PHP使用 PHP 重定向到移动网站
【发布时间】:2012-09-21 16:22:17
【问题描述】:

我已使用this 生成此代码:

<?php
    require_once('mobile_device_detect.php');
    mobile_device_detect(true,false,true,true, true,true,true,'http://m.mydomain.com',false);
?>

但唯一的指示是“复制并粘贴此代码”。嗯..复制粘贴在哪里?我需要创建一个新的 php 文件吗?这是index.php?如果我已经有一个index.html 文件怎么办?

编辑:我知道我将mobile_device_detect.php 放在mydomain.com 的根目录中。我的问题是把上面的php代码放在哪里。

【问题讨论】:

  • 支持您正在使用的脚本:andymoore.desk.com/customer/portal/topics/…
  • @Aknosis 我已经看到了。他们没有说将代码放在哪里。
  • @soleil 无意冒犯,但您需要学习一些基础知识。
  • @itachi 感谢您的宝贵时间。
  • @soleil 无需讽刺。我对这个评论很真诚。问题是,您需要查看文件以了解它如何检测浏览器。根据现有检测创建一个布尔(真或假)函数。然后使用if-else 条件根据设备重定向到不同的位置。如果我有文件,我可以说,但我无法为这样的文件付费或传播文字......(说实话,这个功能看起来很丑)。

标签: php html redirect mobile


【解决方案1】:

将其复制并粘贴到您要检测其设备的访问者的基于 PHP 的页面的开头。如果您的服务器将 HTML 文件解析为我怀疑的 PHP,那么也将其添加到您的 HTML 文件中。如果您只是在构建网站,那么是的,您需要在 PHP 引擎解析的文件中使用它,例如:“.php”。 如果您将其粘贴到 HTML 页面中并且未由服务器解析,您将看到与输出相同的代码,它不会执行任何操作。为了让它工作,你需要它在 PHP 文件中。 如果你的脚本写得很好并且结构很好,你可能只需要将它包含在一个地方。这完全取决于您网站的结构。

----- 更新 ------

为什么你不应该使用这个类?它有一个不是完全免费的特殊许可证。 相反,您可以使用这个简单的类:https://github.com/serbanghita/Mobile-Detect

  1. 下载Mobile_Detect.php
  2. 在您希望检查设备的 PHP 页面顶部包含该文件:

    // Include the mobile device detect class
    include 'Mobile_Detect.php';
    // Init the class
    $detect = new Mobile_Detect();
    // And here is the magic - checking if the user comes with a mobile device
    if ($detect->isMobile()) {
        // Detects any mobile device.
        // Redirecting
        header("Location: http://your_redirected_url.com"); exit;
    }
    
  3. 为使用 html 扩展创建重写规则。 如果您仍想使用“.html”作为扩展名,只需创建重写规则,将您的 .php 重写为 .html。或者说创建 your_page_name.php 并在那里添加 PHP 代码。在同一 DIR 中创建 .htaccess 文件并添加以下行:

    RewriteEngine On
    RewriteBase /
    
    RewriteRule ^your_page_name.html/?$ your_page_name.php [L]
    

保存,关闭!现在您应该可以使用带有 .html 扩展名的 php 页面了。要立即访问您的页面,只需输入:http://yourdomain.com/your_page_name.html 就那么简单! 建议: 如果我是你,我会在 Web 服务器的配置文件中添加重写规则。它将更快,更安全。但这是另一个教训。如果您决定使用此方法,只需搜索堆栈即可。

【讨论】:

  • 所以你是说我需要创建一个 index.php 页面,其中只包含上面的代码?如果用户不在移动设备上,我显然希望他们看到正常的 index.html 页面。我该怎么做?
【解决方案2】:

复制代码并将其粘贴到您想要的任何位置。只需确保在需要它的任何页面上都定义了该函数。

【讨论】:

    【解决方案3】:

    您应该从该网站购买脚本mobile_device_detect.php,或者使用一种名为“付费”的免费方法,并带有推文选项。转到下载页面,您会在那里看到它们。..

    【讨论】:

    • 我有剧本。问题是把调用脚本的php代码放在哪里。
    • 你应该把它放在你想重定向到移动版本的每个页面上。并记住脚本的路径应该是正确的。这是重要的事情..
    【解决方案4】:

    好的,如果这对某人有帮助,以下是对我有用的详细信息:

    用这个创建一个 index.php 文件:

    <?php
    
    require_once('mobile_device_detect.php');
    $mobile = mobile_device_detect();
    
    // redirect all mobiles to mobile site and all other browsers to desktop site
    if($mobile==true){
      header('Location:http://m.yourdomain.com/');
    }else{
      header('Location:http://yourdomain.com/index.html');
    }
    exit;
    
    ?>
    

    将 mobile_device_detect.php 文件放到您网站的根目录中。

    然后,将此行添加到您的 .htaccess 文件中:

    DirectoryIndex index.php index.html
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-28
      • 1970-01-01
      • 2013-06-04
      • 1970-01-01
      • 2012-08-24
      • 1970-01-01
      • 2012-01-31
      • 1970-01-01
      相关资源
      最近更新 更多