Как отобразить другой URL с помощью .htaccess - PullRequest
0 голосов
/ 08 июля 2019

Мне нужно, чтобы все мои домены имели сертификат https, но когда я создал файл .htaccess, веб-сайт не работал.

Вот история: У меня есть сайт на Ruby on Rails, давайте позвоним: web1.com.br

У меня также есть домены: web1.com, web2.com.br и web2.com

Я сделал сопоставление DNS, поэтому всякий раз, когда люди набирают эти 3 домена, они все переходят на мой оригинальный хост на web1.com.br (и не меняют URL для пользователя), и он отлично работает.

Но у меня нет моего https-сертификата, когда кто-то вводит остальные 3 домена. Только на моем оригинальном веб-сайте web1.com.br у меня есть сертификат давайте шифровать

Я попросил у своего хост-провайдера помощи, и они сказали мне добавить в мою папку www файл .htaccess, но я, вероятно, сделал что-то не так.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^web1.com.br.
RewriteRule ^ http://www.web1.com.br%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^web1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.web1\.com$
RewriteRule ^$ http\:\/\/www\.web1\.com\.br\/ [R=301,L]

RewriteEngine On
RewriteCond %{HTTP_HOST} ^web1.com.br.
RewriteRule ^ http://www.web1.com.br%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^web2\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.web2\.com$
RewriteRule ^$ http\:\/\/www\.web1\.com\.br\/ [R=301,L]

RewriteEngine On
RewriteCond %{HTTP_HOST} ^web1.com.br.
RewriteRule ^ http://www.web1.com.br%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^web2\.com\.br$ [OR]
RewriteCond %{HTTP_HOST} ^www\.web2\.com\.br$
RewriteRule ^$ http\:\/\/www\.web1\.com\.br\/ [R=301,L]

Я создал файл .htaccess, и мой сайт (на всех доменах) отключился, выдав ответ 500:

"The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at web@web1.com.br to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request."

Я удалил файл, и сайт вернулся в онлайн

Как вы, вероятно, можете сказать, я полный нуб, но не могу найти кого-то, кто бы мне помог Я не знаю, правильно ли я сделал .htaccess или моя хостинговая поддержка дала мне неверную информацию.

Спасибо

1 Ответ

0 голосов
/ 08 июля 2019

Проверьте эти правила в своем файле .htaccess, перенаправьте все на https://web1.com.br/

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?web1\.com [NC]
RewriteRule (.*) https://web1.com.br/ [R=301,L]

RewriteCond %{HTTP_HOST} ^(www\.)?web2\.com [NC]
RewriteRule (.*) https://web1.com.br/ [R=301,L]

RewriteCond %{HTTP_HOST} ^(www\.)?web2\.com\.br [NC]
RewriteRule (.*) https://web1.com.br/ [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.web1\.com\.br [NC]
RewriteRule (.*) https://web1.com.br/$1 [R=301,L]

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^web1\.com\.br [NC]
RewriteRule (.*) https://web1.com.br/$1 [R=301,L]
...