Я использую Apache 2.2.3 для нескольких доменов, и для одного из этих доменов я пытаюсь перенаправить все страницы за исключением нескольких (скажем, page1
и page2
) в корень www.domain2.com
. Я хочу, чтобы все остальные сайты не пострадали.
www.domain2.com/page1
(следующее должно разрешиться как www.domain2.com
)
www.domain2.com/page3
Я пытаюсь выполнить следующее, но оно не работает. По сути, для всех запросов к www.domain2.com
я хочу, чтобы все страницы (за исключением page1
и page2
) разрешались в корень ( www. domain2.com
). У меня проблемы с отрицанием (все страницы кроме):
RewriteCond %{http_host} ^.*domain2\.com [nc]
RewriteRule ^.*domain2.com!(|/|/page1|/page2)$ http://www.domain2.com [r=301,nc,L]
Это перенаправит все, что запрашивается в домене 2 (кроме страницы 1 и другой страницы), на эквивалентную страницу в домене 1
RewriteCond% {HTTP_HOST} ^. *. Domain2.com [NC]
RewriteCond% { REQUEST_URI}! ^ / Page1.html
RewriteCond% {REQUEST_URI}! ^ / Otherpage.html
RewriteRule ^ / (. *) $ http://www.domain1.com/ $ 1 [R = 301, L]
Пример: www.domain2.com/index.html -> www.domain1.com/index.html
Дублируйте секунды перезаписи внутри (или используйте регулярное выражение, например ! ^ / (page1 | otherpage) \. html
по мере необходимости.