0

我有一个呈现 URL 的网站:

/work.php?cat=identity

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

/work/identity

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

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

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

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

4

3 回答 3

2

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

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

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

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

缺口

于 2011-03-29T13:24:37.883 回答
1

Zeus 重写规则能够访问 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
于 2011-08-31T15:42:28.693 回答
0

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

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

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

我将尝试启动 ZWS VM 并自己测试。

缺口

于 2011-03-28T15:43:30.537 回答