是否可以在重写中执行以下操作?
鉴于此网址,
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,如果是,你有指针吗?
答案 0 :(得分: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]指令。