【问题标题】:Zeus Rewrite Rules宙斯重写规则
【发布时间】:2011-09-01 22:34:27
【问题描述】:

我有一个呈现 URL 的网站:

/work.php?cat=identity

通常我会研究如何使用 mod_rewrite,但不幸的是我的主机(Namesco)使用 Zeus 而不是 Apache,这很奇怪。我将如何使用 Zeus 的重写规则转换为:

/work/identity

这是一个更清洁、更好的 SEO 友好版本。最重要的是,我仍然需要激活 $_GET 变量,因为它从数据库中请求有关变量 cat 的信息。

我以前从未重写过 URL,所以我不知道从哪里开始。我尝试使用保存在我的网络文件夹中的这个 rewrite.script 文件进行更改

match URL into $ with ^/work.php?cat=/(.*)
if matched set URL= /work/$

不幸的是,它不起作用。任何人都可以提供帮助或提供替代方案吗?

【问题讨论】:

  • 宙斯是什么意思?你是指 Zeus ZXTM 负载均衡器软件吗?
  • 我的托管服务提供商 Namesco 不使用 Apache,它使用 Zeus。这就是我对 Zeus 的全部了解,我不熟悉任何其他产品,只有 Zeus Web Server,但不确定这是否是正确的名称。我知道 Namesco 在他们的网站上告诉我什么

标签: mod-rewrite url-rewriting zeus


【解决方案1】:

对此进行了快速尝试,我相信我已经向自己证明了请求重写无法操纵 URL 的查询元素。

有一个潜在的解决方案,但它变得更加丑陋!

您可以使用 ZWS 的“Perl Extensions”来实现这一点。本质上,您将请求传递给 ZWS 中的 Perl 引擎,针对它运行一个脚本,然后将结果传递回 ZWS。

恐怕这有点超出我的能力范围!我是一个“宙斯交通经理”之类的小伙子......

尼克

【讨论】:

    【解决方案2】:

    宙斯重写规则能够访问 URL 字符串的查询部分。您缺少的关键是输出 URL 上 $ 后面的 1,应该删除斜杠:

    match URL into $ with ^/work.php?cat=/(.*)
    if matched set URL= /work/$
    

    应该是

    match URL into $ with ^/work.php?cat=(.*)
    if matched set URL= /work/$1
    

    【讨论】:

      【解决方案3】:

      我想知道重写规则是否可用于 URI 的查询部分?文档似乎只谈论路径元素。

      http://support.zeus.com/zws/docs/2005/12/16/zeus_web_server_4_3_documentation

      第 141 页似乎是它的开始......

      我将尝试启动 ZWS 虚拟机并自己进行测试。

      尼克

      【讨论】:

      • 干杯尼克,我会调查的!感谢您的帮助,我等待测试结果
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-12
      • 2010-11-20
      • 2012-11-21
      • 2010-11-13
      相关资源
      最近更新 更多