4

モバイルユーザーエージェントを持っている人をmobile.phpというファイルにリダイレクトする必要があります。私のウェブホスティングプロバイダーであるNetRegistryは、Zeusウェブサーバーを使用しています。

これが私の研究から書いたスクリプトです

RULE_1_START:
# get the document root
map path into SCRATCH:DOCROOT from /
match IN:User-Agent into $ with iPad|iPod|iPhone|Android|s+Mobile

if matched then
    set OUT:Location = /mobile.php
endif
RULE_1_END:

ホストのサイトの指示を使用しました。

私はそれを彼らのコンソールに貼り付けました、そしてそれはリダイレクトをするために働きました。ネットレジストリには、送信する奇妙なコンソールがあり、zeusサーバーの構成を更新するのに10分かかります(地獄のように迷惑です)。

とにかく私の問題は、それが私を間違った場所にリダイレクトすることです:したがって、サイトにアクセスすると、を含むユーザーエージェント文字列を使用してipad|ipod|android|\s+mobile、それをトリガーします()

ここに連れて行ってくれます:

http://example.com.au/mobile.php,%20catalog/index.php

私はそれを修正する方法、または現時点でこのファイルが存在するためにそれが発生する理由を理解できません:

http://example.com.au/mobile.php

これもそうです:

http://example.com.au/index.php. Contents of this file are:

<?php header("Location: catalog/index.php");

これをapache.htaccessurl Rewriteのように機能させる方法についてのアイデアはありますか?

Zeusの公式ドキュメント

4

1 に答える 1

0

変更することで修正されました

   set OUT:Location = /mobile.php

   set URL = /mobile.php

マニュアルから... リクエスト書き換えスクリプトの使用 リクエスト書き換え機能を使用するには、Zeus リクエスト書き換えスクリプト言語でスクリプトを作成します。このスクリプトには、指定された条件に一致する要求の URL またはヘッダーを変更する方法を仮想サーバーに指示する命令が含まれています。仮想サーバーはスクリプトをコンパイルし、(書き換え機能が有効になっている場合) 要求を受信するたびにそれを使用します。スクリプト内のコマンドを実行し、指定された条件に一致する場合は URL を変更します。スクリプトが完了すると、仮想サーバーは結果の URL の処理を​​続行します。 URL 処理の構成 URL を変更する場合、書き換え機能はそのローカル部分、つまり URL の一部のみを変更できます。ホスト名の後に。たとえば、ユーザーがリクエストした場合http://www.myhost.com/sales/uk.htmlの場合、書き換え機能は /sales/uk.html のみを変更できます。つまり、書き換え機能を使用して、別の仮想サーバー上のファイルを参照するように要求を変更することはできません。たとえば、次のスクリプトは、/sales ディレクトリ内の HTML ファイルに対する要求を変更して、ユーザーが代わりに /newsales ディレクトリから要求を受け取るようにする方法を示しています。.html 一致する場合 set URL=/newsales/$1.html 書き換え機能は、リクエストで受信した HTTP ヘッダーを変更し、ユーザーに返される新しい HTTP ヘッダーを作成することもできます。たとえば、次のスクリプトは HTTP ホスト ヘッダーを変更して、www.mysite.com/subserver への要求がサブサーバー www.subserver.mysite.com にリダイレクトされるようにします。 )/(. )$ 一致する場合は IN:Host = www.$1.mysite.com を設定 URL = /$2 endif を設定

于 2012-02-02T00:15:29.827 に答える