Как я могу переписать URL-адреса на веб-сервере Zeus для мобильного пользовательского агента?

Мне нужно перенаправить любого с мобильным пользовательским агентом в файл с именем mobile.php. Мой хостинг-провайдер Net Registry использует веб-сервер 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:

Я воспользовался инструкциями на сайте моего хоста.

Я вставил это в их консоль, и она работала для перенаправления. В реестре Net есть какая-то странная консольная вещь, которую вы отправляете, и обновление конфигурации сервера 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");

Любые идеи о том, как я могу сделать эту работу более похожей на переписывание URL-адреса apache .htaccess?

официальная документация Zeus


person Jason    schedule 01.02.2012    source источник


Ответы (1)


Исправил, изменив

   set OUT:Location = /mobile.php

to

   set URL = /mobile.php

Из руководства... Использование сценариев перезаписи запроса Чтобы использовать функцию перезаписи запроса, создайте сценарий на языке сценариев Zeus Request Rewrite. Сценарий содержит инструкции, сообщающие виртуальному серверу, как изменить URL-адрес или заголовки запросов, соответствующих заданным критериям. Виртуальный сервер компилирует сценарий и (если включена функция перезаписи) использует его каждый раз, когда получает запрос. Он запускает команды в сценарии, изменяя URL-адрес, если он соответствует указанным критериям. После завершения сценария виртуальный сервер продолжает обработку полученного URL-адреса. Руководство пользователя Zeus Web Server 4.3 142 Настройка обработки URL-адресов При изменении URL-адреса функция перезаписи может изменить только его локальную часть, то есть часть URL-адреса. после имени хоста. Например, если пользователь запрашивает http://www.myhost.com/sales/uk.html функция перезаписи может вносить изменения только в /sales/uk.html. Это означает, что вы не можете использовать функцию перезаписи для изменения запроса на ссылку на файл на другом виртуальном сервере. Например, в следующем сценарии показано, как изменить запросы для любых HTML-файлов в каталоге /sales, чтобы пользователь вместо этого получал их из каталога /newsales: сопоставьте URL с $ с ^/sales/(.).html при совпадении set URL=/newsales/$1.html Функция перезаписи также может изменять заголовки HTTP, которые были получены вместе с запросом, и создавать новые заголовки HTTP, которые будут возвращены пользователю. Например, следующий скрипт изменяет заголовок хоста HTTP, так что запрос на www.mysite.com/subserver перенаправляется на субсервер www.subserver.mysite.com: сопоставьте URL с $ с ^/([^/]+ )/(.)$ при совпадении установите IN:Host = www.$1.mysite.com set URL = /$2 endif

person Jason    schedule 02.02.2012