0

是否可以在重写中执行以下操作?

鉴于此网址,

http://www.stockportovenrepairs.co.uk/spares/cda/cooker-oven/cd200ss/element-12345/12/

cda/cooker-oven/cd200ss/element-12345/12/我目前用 url=cda/cooker-oven/cd200ss/element-12345/12/QSA重写这部分 。

这很好用,但更适合我的情况是如果我可以将其重写为:

url=cda;cooker-oven;cd200ss;element-12345;12;

即将正斜杠交换为分号,然后将其附加到查询字符串。这甚至可以通过 mod-rewrite 实现,如果可以的话,你有什么指示吗?

4

1 回答 1

1

如果您在 Apache 中使用 mod-rewrite,请尝试反向引用(假设 url 将具有已知数量的段或设置格式)。就像是

RewriteRule /spares/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/ http://host/something.do?url=$1;$2;$3;$4;$5; [NE]

这应该将您的示例重写为

http://host/something.do?url=cda;cooker-oven;cd200ss;element-12345;12;
这看起来像你想要的。

编辑:为了防止分号被转义,您需要添加上面的 [NE] 指令。

于 2012-12-27T16:38:25.660 回答