0

ユーザーがモバイルデバイスまたはコンピューターを使用してブログ投稿にアクセスしているかどうかを検出するPHPを作成しました。

基本的に、ユーザーが携帯電話でブログの投稿にアクセスしている場合に、URLを動的に編集するスクリプトが必要です。

たとえば、私のブログ投稿のURLは次のようになります。

http://www.example.com/blog/blog-post-1/
http://www.example.com/blog/welcome-to-my-blog/
http://www.example.com/blog/別のブログ投稿/

ユーザーは動的に次の場所にリダイレクトされる必要があります。

http://www.example.com/m/blog/blog-post-1/
http://www.example.com/m/blog/welcome-to-my-blog/
http://www.example。 com / m / blog / another-blog-post /

PHPでデバイス検出も機能しているので、PHP条件内に挿入するスクリプトが必要です。

何か案は?

4

4 に答える 4

2

試す:

if ($mobile) {
    header("Location: http://".$_SERVER["HTTP_HOST"]."/m".$_SERVER["REQUEST_URI"]);
}
于 2012-11-16T15:52:20.317 に答える
0

これはそれを行う必要があります:

$ server

<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>

user_agent.php:

<?php
$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");

if ($iphone || $android || $palmpre || $ipod || $berry == true)
{
header('Location: http://mobile.site.com/');
//OR
echo "<script>window.location='http://mobile.site.com'</script>";
}
?>

Index.php:

<?php
include('user_agent.php'); // Redirecting http://mobile.site.info
// site.com data
?>

このサイトのコンテンツ。

于 2012-11-16T15:56:28.737 に答える
0

この.htaccessスニペットは、あなたが探していることを達成するのに役立つかもしれません:

この書き直しは、ほとんどのモバイルデバイスを対象としています(誤検知はほとんどありません)。モバイルデバイスが検出されると、/m/にリダイレクトされます。

http://snipplr.com/view/44741/

于 2012-11-16T15:49:09.963 に答える
0

すでにPHPを使用してデバイス検出を行っている場合は、次のようにする必要があります。

header("Location: /m{$_SERVER['REQUEST_URI']}");
exit;

現在のパスを取得し、プレフィックスを付け"/m"てモバイルパスを形成します。

JavaScriptを使用してリダイレクトを行うと、特定のモバイルデバイスが除外されるため、これはおそらく最善の方法ではありません。

于 2012-11-16T15:52:31.913 に答える