繁体   English   中英

如何在Zeus Web服务器中为Mobile useragent重写URL?

[英]How can I rewrite URLs in the Zeus web server for Mobile useragent?

我需要将任何使用移动用户代理的人重定向到名为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:

我使用了主持人网站上说明

我把它粘贴到他们的控制台中,它已经努力做重定向。 网络注册表有你提交的一些奇怪的控制台事情,更新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 .htaccess url Rewrite的任何想法?

Zeus官方文档

通过改变来修复它

   set OUT:Location = /mobile.php

   set URL = /mobile.php

从手册...使用请求重写脚本要使用请求重写功能,请在Zeus Request Rewrite Scripting Language中创建脚本。 该脚本包含说明虚拟服务器如何更改符合指定条件的请求的URL或标头的说明。 虚拟服务器编译脚本,并且(如果启用了重写功能)每次收到请求时都会使用它。 它在脚本中运行命令,如果URL符合指定的条件,则更改URL。 脚本完成后,虚拟服务器将继续处理生成的URL.Zeus Web Server 4.3用户指南142配置URL处理更改URL时,重写功能只能更改其本地部分,即URL的一部分在主机名之后。 例如,如果用户请求http://www.myhost.com/sales/uk.html ,则重写功能只能对/sales/uk.html进行更改。 这意味着您无法使用重写功能更改请求以引用另一个虚拟服务器上的文件。 例如,以下脚本说明了如何更改/ sales目录中任何HTML文件的请求,以便用户从/ newsales目录中接收它们:匹配URL与$ / sales /(。)。html 匹配集合URL = / newsales / $ 1.html重写功能还可以更改随请求接收的HTTP标头,并创建要返回给用户的新HTTP标头。 例如,以下脚本更改HTTP主机标头,以便将www.mysite.com/subserver的请求重定向到Subserver www.subserver.mysite.com:将URL匹配到$ with with /([^ /] + )/(。 )$如果匹配则设置IN:Host = www。$ 1.mysite.com set URL = / $ 2 endif

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM