2009-07-15 2 views
1

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

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

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

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

Любые идеи?

Спасибо!

+0

Позвольте мне сделать это немного более ясным, извините - скажем, строки1, я хочу, чтобы строка1 была связана с нерелевантным URL-адресом, например string1 отправляет меня на flikr, string2 отправляет меня в gmail. новый URL-адрес не имеет ничего общего (по адресу) с совпадающей строкой –

ответ

0

Вы, вероятно, хотите что-то больше, как это:

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

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

2

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

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

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