1

Expression Engine CMS で構築された Web サイトがあり、2 年間正常に動作しています。静的なモバイル サイト (html ベース) を構築し、ホームページにリダイレクト スクリプトを追加しましたが、これも正常に機能しています。したがって、モバイル ユーザーがホームページにアクセスしようとすると、ユーザーはモバイル サイトに正しくリダイレ​​クトされます。ここでは問題ありません。

問題は、Facebook、Google Adwords、およびその他のソースのサイトから目立たないページを使用しているため、ホームページだけでなく、ユーザーを誘導する他の約 10 ページに対してリダイレクトを機能させる必要があることです。

EE ではテンプレート ページを編集できます。私は、単一の EE カテゴリの単一ページである about-us のようなページの EE テンプレートを変更しましたが、これも正常に機能しています。しかし、複数の目立たないページを持つ EE カテゴリの場合、リダイレクトに問題があります。この場合、EE テンプレートにはリダイレクト スクリプトを配置するページが 1 つしかないため、実際に選択されたページに関係なく、モバイル デバイスは常にカテゴリ内の同じページにリダイレクトされます。

htacess リダイレクトを使用して、この問題を何らかの方法で解決できますか? 呼び出されたページを見て、特定のモバイル ページにリダイレクトする必要があるでしょうか? この問題を解決するための php またはその他のスクリプト オプションはありますか。

目標は、EE のカテゴリ レベルでしかリダイレクト スクリプトを追加できない状況で、モバイル デバイスを特定のページに誘導する必要があることです。

ありがとう。

4

1 に答える 1

0
function getClientOS()
    {
        $user_agent = $_SERVER['HTTP_USER_AGENT'];

        $os_platform = "Unknown OS Platform";

        $os_array = array (
            '/windows nt 6.2/i' => 'Windows 8',
            '/windows nt 6.1/i' => 'Windows 7',
            '/windows nt 6.0/i' => 'Windows Vista',
            '/windows nt 5.2/i' => 'Windows Server 2003/XP x64',
            '/windows nt 5.1/i' => 'Windows XP',
            '/windows xp/i' => 'Windows XP',
            '/windows nt 5.0/i' => 'Windows 2000',
            '/windows me/i' => 'Windows ME',
            '/win98/i' => 'Windows 98',
            '/win95/i' => 'Windows 95',
            '/win16/i' => 'Windows 3.11',
            '/macintosh|mac os x/i' => 'Mac OS X',
            '/mac_powerpc/i' => 'Mac OS 9',
            '/linux/i' => 'Linux',
            '/ubuntu/i' => 'Ubuntu',
            '/iphone/i' => 'iPhone',
            '/ipod/i' => 'iPod',
            '/ipad/i' => 'iPad',
            '/android/i' => 'Android',
            '/blackberry/i' => 'BlackBerry',
            '/webos/i' => 'Mobile'
        );

この関数は、クライアントが使用している OS の値 (デスクトップ/モバイル) を返します。ページの上部でこの関数を使用して、モバイル デバイス用に作成した特定のページにリダイレクトしたり、その逆を行うことができます。お役に立てれば。

于 2013-07-05T05:21:27.270 に答える