1

我想检查一个 URL 以查看它是否包含多个字符串之一,然后基于此将其发送到不同的 URL。我是否被迫使用多条线路,每种可能性一条线路?或者无论如何要形成一个if语句?我认为这样的事情应该有效:

(string1)(string2)(string3) example.com/$1$2$3

因为在我的情况下,永远不会找到多个字符串,所以额外的字符串在重定向的 URL 中将为 NULL。但是,这仅在我想将字符串本身用作新 URL 的修改部分时才有效,而我不这样做。

我需要什么文件大小才开始担心我的文件加载时间?

有任何想法吗?

谢谢!

4

2 回答 2

2

您可以在正则表达式中使用简单的交替:

RewriteRule ^/(string1|string2|string3)$ http://example.com/$1

这将匹配路径/string1/string2/string3

于 2009-07-15T14:09:15.270 回答
0

你可能想要更像这样的东西:

RewriteRule string1|string2|string3 example.com/$0

正则表达式string1|string2|string3中的表达式匹配三个备选方案中的任何一个$0,当然会替换为整个正则表达式匹配的任何内容。

于 2009-07-15T14:08:03.400 回答