Несколько псевдонимов доменов, указывающих на одну и ту же учетную запись cPanel, используют одну и ту же .htaccess
файл. Мне нужно правило для домена, которое перенаправляет весь трафик из aliasdomain.com
к https://www.domain1.com
только если:
HTTP_HOST
Сейчас aliasdomain.com
(с или без WWW и http / https)
исключить папку /medias/
- он должен быть доступен из aliasdomain.com
исключить все *.jpg
, *.jpeg
, *.png
и *.gif
файлы (даже если файлы находятся в корне aliasdomain.com
)
всегда перенаправлять на https://www.domain1.com
root, без подстановочного перенаправления и без перенаправления на HTTP, отличный от ssl
domain1.com
необходимо исключить, поэтому если то же самое .htaccess
файл включен domain1.com
это не помешает.
Я пытался адаптировать различные фрагменты кода, найденные в StackOverflow, но ужасно не смог заставить его работать :( Я задал вопрос там, но моды сказали мне спросить его на ServerFault, так что вот я ... Помощь будет очень признательна!
Попробуйте следующее:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?aliasdomain\.com [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g|png|gif)$ [NC]
RewriteRule !^medias https://www.domain1.com/ [R=302,L]
В RewriteRule
шаблон гарантирует, что правило обрабатывается только тогда, когда не запрос URL-адресов, которые начинаются /medias
. (The !
префикс отменяет регулярное выражение в Apache mod_rewrite.)
Первый RewriteCond
директива проверяет, что запрашиваемый хост aliasdomain.com
только (с или без www
поддомен). (Так, domain1.com
естественно исключается.)
Второй RewriteCond
Директива исключает запросы на файлы изображений.
Изменить 302
(временное) перенаправление на 301
(постоянный), если предполагается, что он будет постоянным и только после того, как вы убедитесь, что он работает нормально (поскольку 301-е файлы жестко кэшируются браузером).
Перед тестированием очистите кеш браузера, так как все предыдущие / ошибочные 301-е, скорее всего, были кэшированы. (Или протестируйте с открытыми инструментами браузера и отключенным кешем.)
Я задал вопрос там, но моды сказали мне вместо этого спрашивать на serverfault
Если честно, этот вопрос, наверное, больше подходит для Стек профессиональных веб-мастеров, а не ServerFault! (Хотя это не обязательно не по теме в StatckOverflow, пример кода, который вы пробовали, является обязательным.)