У нас есть очень большой файл .htaccess, в котором мы создаем RewriteRules на основе другого домена RewriteCond.Мы используем флаг [ИЛИ], чтобы убедиться, что условия «www» и «домен» выполнены, а затем перенаправить на определенные страницы.
Пример:
# DOMAIN 1
RewriteCond %{HTTP_HOST} ^domain1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain1\.com$
RewriteRule ^en/contact$ https://domain1.com/en/contact.html [L,R=301]
RewriteRule ^fr/nouvelles$ https://domain1.com/fr/articles.html [L,R=301]
RewriteRule ^en/career$ https://domain1.com/en/career.html [L,R=301]
RewriteRule ^fr/contact$ https://domain1.com/fr/contact.html [L,R=301]
# DOMAIN 2
RewriteCond %{HTTP_HOST} ^domain2\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain2\.com$
RewriteRule ^fr/maison-payante$ https://domain2.com/fr/articles.html [L,R=301]
RewriteRule ^en/cash-damming$ https://domain2.com/en/articles.html [L,R=301]
RewriteRule ^fr/nos-proprietes$ https://domain2.com/fr/nos-proprietes.html [L,R=301]
RewriteRule ^en/40km-program$ https://domain2.com/en/articles.html [L,R=301]
RewriteRule ^fr/mes-proprietes$ https://domain2.com/fr/nos-proprietes.html [L,R=301]
RewriteRule ^en/our-properties$ https://domain2.com/en/our-properties.html [L,R=301]
Проблема
При посещении http://domain1.com/en/40km-program будет перенаправлен на https://domain2.com/en/articles.html.
Следующее правило применяется, даже если RewriteCond не выполняется:
RewriteRule ^en/40km-program$ https://domain2.com/en/articles.html [L,R=301]
Синтаксис файла .htaccess кажется хорошим (проверено в двух разных инструментах проверки синтаксиса).
Как это могло произойти?
Спасибо за вашу помощь.