Грамотный редирект в htaccess

1. GodZiLLa (17.04.2020 / 18:14)
Преамбула такая :
Зарегал новый домен, припарковал его к одному из сайтов.
Чтобы пока домен созревал, и не вёл зеркалом на основной сайт, подуман сделать перенаправление нового домена на страницу заглушку.
Но вот ничего умнее шаблона от 301 редиректа не нашёл.
Но с таким вариантом сайт падает, видимо синтаксис нарушен.

RewriteCond %{HTTP_HOST} site.net
RewriteRule (.*) https://site.net/indexb.html $1 [R=301,L]

C таким вариантом не получается, ошибка.
Может кто получше в хтачессе разбирается, что здесь, не так ?
Или есть лучше вариант ?
Или это не реально, сделать такое перенаправление грамотно ?

2. erasier (17.04.2020 / 18:56)
RewriteEngine On
RewriteRule ^ /indexb.html [L]

3. GodZiLLa (17.04.2020 / 20:20)
erasier, но ведь это будет действовать для обоих доменов, а нужно только для паркованного.

4. JustZero (17.04.2020 / 22:25)
RewriteCond %{HTTP_HOST} ^sub.domain.com
RewriteRule ^(.*)$ /subdomains/sub/$1 [L,NC,QSA]


5. erasier (17.04.2020 / 22:29)
Тогда так

RewriteEngine On
RewriteCond %{HTTP_HOST} ^site\.net$
RewriteRule ^ /indexb.html [L]

6. GodZiLLa (18.04.2020 / 10:30)
Тогда так

RewriteEngine On
RewriteCond %{HTTP_HOST} ^site\.net$
RewriteRule ^ /indexb.html [L]
@erasier
C этим кодом почему то выдаёт:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

JustZero, к сожалению это для субдоменов, для двух доменов, такой вариант не подходит.

7. erasier (18.04.2020 / 11:03)
GodZiLLa, я так понимаю, ты купил этот домен? Так почему бы не создать для него свой отдельный домен в панели?

8. GodZiLLa (18.04.2020 / 11:30)
erasier, у меня уже весь лимит на сайты в аккаунте закончен.
Просто повесить домен в панели, без данных, без страницы, это как то не то.
Пришлось припарковать его к работающему сайту, но не хотелось бы, чтобы поисковики его посчитали зеркалом, со всеми вытекающими.
Поэтому и заморочился, чтобы завязать его на страницу-заглушку, пока не будет решена его дальнейшая участь.

9. GodZiLLa (18.04.2020 / 13:49)
Вроде как нашёл рабочий вариант:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} sait.ru$
RewriteRule .* https://site.ru/indexb.html [L,R]

Но одна проблема: В строке адреса именно эта страница, но в браузере ошибка
Страница недоступна
Сайт выполнил переадресацию слишком много раз.

ERR_TOO_MANY_REDIRECTS

Проверил, идет десять раз подряд перенаправление с выдачей одного результата :
HTTP/1.1 302 Found
Server: nginx-reuseport/1.13.4
Date: Sat, 18 Apr 2020 10:38:10 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 288
Connection: keep-alive
Keep-Alive: timeout=30
Location: https://site.net/indexb.html
Cache-Control: max-age=43200
Expires: Sat, 18 Apr 2020 22:38:10 GMT

Сама страница существует, правда не в корне сайта, а средствами движка

10. erasier (18.04.2020 / 15:38)
Попробуй так
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^sait\.ru$
RewriteCond %{REQUEST_URI} !^/indexb\.html$
RewriteRule .* https://site.ru/indexb.html [L,R]


11. GodZiLLa (18.04.2020 / 17:18)
erasier, спасибо ! С некоторой переделкой, и странностями, но вроде как заработало ! )
Когда полностью твой код использовал, то отправляло просто на основной домен.
Потом использовал только последние три строки без обратных слэш и заработало :
RewriteCond %{HTTP_HOST} ^site.net$
RewriteCond %{REQUEST_URI} !^/indexb.html$
RewriteRule .* https://site.net/indexb.html [L,R]

Сейчас только ещё проверил на заголовки, что возвращает, есть одна переадресация, но потом 200 ок

HTTP/1.1 302 Found
Server: nginx-reuseport/1.13.4
Date: Sat, 18 Apr 2020 14:14:44 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 288
Connection: keep-alive
Keep-Alive: timeout=30
Location: https://site.net/indexb.html
Cache-Control: max-age=43200
Expires: Sun, 19 Apr 2020 02:14:45 GMT

HTTP/1.1 200 OK
Server: nginx-reuseport/1.13.4
Date: Sat, 18 Apr 2020 14:14:45 GMT
Content-Type: text/html
Content-Length: 3843
Connection: keep-alive
Keep-Alive: timeout=30
Vary: Accept-Encoding
Last-Modified: Sat, 18 Apr 2020 11:38:11 GMT
ETag: "f03-5a38f19c1a939"
Vary: Accept-Encoding
Cache-Control: max-age=43200
Expires: Sun, 19 Apr 2020 02:14:45 GMT
Accept-Ranges: bytes

12. erasier (18.04.2020 / 18:19)
GodZiLLa, чтобы небыло переадресации, можно вот так попробовать
RewriteCond %{HTTP_HOST} ^site.net$
RewriteRule .* indexb.html [L]

Или это уже было? D

13. GodZiLLa (18.04.2020 / 18:51)
erasier, вроде как было D
Может после выходных ещё проверю.
А сейчас пока вроде работает, нехай себе до лучших времён ))

Спасибо за помощь !

14. GodZiLLa (20.04.2020 / 17:18)
erasier, этот метод тоже работает, правда без принудительной переадресации на https. Но плюс в том, что в строке браузера остаётся только чистый домен, без указания страницы.
Даж не знаю, что лучше, что с зеркалом не http-https, но без отображения в строке адреса страницы, или прежний код, с принудительной отправкой на https, но с указанием страницы indexb.

15. erasier (20.04.2020 / 18:51)
GodZiLLa, одно другому не мешает, добавь туда это)
RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTP} =on
RewriteRule ^ https://site.net [R=301,L]


16. GodZiLLa (21.04.2020 / 09:16)
erasier, возьму и эти строчки на заметку, но пока и так устраивает, для парковочной страницы сойдёт наверное ))
Спасибо большое за помощь !!!

URL: https://visavi.net/topics/44370