Apache Rewrite: перенаправить все страницы, кроме нескольких, на домашнюю страницу

Я использую 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]
0
задан 3 November 2016 в 01:09
1 ответ

Это перенаправит все, что запрашивается в домене 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 по мере необходимости.

0
ответ дан 5 December 2019 в 09:17

Теги

Похожие вопросы