Условное переписывание в Apache 2: идентичны ли эти два? - PullRequest
0 голосов
/ 04 апреля 2011

Может ...

RewriteCond %{REQUEST_URI} ^/folder1/ [OR]
RewriteCond %{REQUEST_URI} ^/folder2/ [OR]
RewriteCond %{REQUEST_URI} ^/folder3/
RewriteRule (.*) / [R=301,L]

... переписать на ...

RewriteCond %{REQUEST_URI} ^/(folder1|folder2|folder3)/
RewriteRule (.*) / [R=301,L]

А если так, они абсолютно идентичны по функциональности? Предложения / улучшения приветствуются.

1 Ответ

1 голос
/ 04 апреля 2011

Это одно и то же, | означает OR, поэтому, если оно начинается с /folder1/ или /folder2/ или /folder3/, выполните перенаправление.

Так что да, это будет короче и сработает для ваших нужд.

Как предложил Пекальский, вы можете сделать его короче:

^/folder[1-3]/

Еще несколько примеров и ссылок можно найти по адресу: http://semlabs.co.uk/journal/mod_rewrite-quick-reference-and-cheat-sheet

...