если еще .htaccess / ISAPI - PullRequest
       31

если еще .htaccess / ISAPI

1 голос
/ 15 июля 2009

Я хотел бы проверить URL-адрес, чтобы увидеть, содержит ли он одну из нескольких строк, а затем на основании этого отправить его на другой URL-адрес. Я вынужден использовать несколько строк, по одной для каждой возможности? Или в любом случае, чтобы сформировать заявление if? Я подумал, что что-то вроде этого должно работать:

(строка1) (строка2) (строка3) example.com/$1$2$3

потому что в моем случае несколько строк никогда не будут найдены, поэтому дополнительные строки будут иметь значение NULL в перенаправленном URL. однако это работает, только если я хочу использовать саму строку в качестве измененной части нового URL, чего я не делаю.

При каком размере файла мне нужно беспокоиться о времени загрузки моего файла?

Есть идеи?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 15 июля 2009

Вы можете использовать простое чередование в своем регулярном выражении:

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

Это будет соответствовать путям /string1, /string2 или /string3.

0 голосов
/ 15 июля 2009

Вы, вероятно, хотели бы что-то более похожее на это:

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

Выражение string1|string2|string3 в регулярном выражении соответствует любой из трех альтернатив, и, конечно, $0 заменяется на любое совпадение с регулярным выражением.

...