1

我有一个如下 URL:www.site.com/catalog/?type=6 我需要将其重写为www.site.com/white-wines/white-cases.

重要的是它不是重定向,例如 URL 应保持www.site.com/white-wines/white-cases访问时的状态,但显示来自www.site.com/catalog/?type=6.

我当前的解决方案执行重定向,我正在努力解决这个问题。

RewriteRule ^white-wines/white-cases$ http://www.site.co.uk/catalog/?type=6 [L]
4

1 回答 1

1

如果目标与当前主机名不同,则在目标中设置完整地址意味着重定向,而不是重写。尝试根相对路径。

RewriteRule ^white-wines/white-cases$ /catalog/?type=6 [L]

您不能重新写入不同的主机名。

绝对网址

如果指定了绝对 URL,mod_rewrite 会检查主机名是否与当前主机匹配。如果是这样,则方案和主机名将被删除,并且生成的路径将被视为 URL 路径。否则,将对给定 URL 执行外部重定向。要强制将外部重定向回当前主机,请参见下面的 [R] 标志。

来源:Apache 模块 mod_rewrite

于 2012-10-09T14:48:13.783 回答