Как создать RewriteRule для конкретного совпадения https и www вместе? - PullRequest
0 голосов
/ 16 мая 2019

Мне удалось создать рабочие перенаправления для www и не-www (обычный http) и https, но при совместном использовании они больше не работают.У меня есть четыре домена, и я хочу, чтобы каждый из них перенаправлял на базовый домен, а затем добавил параметры URL.

Прямо сейчас текущий результат при попытке различных вариантов:

www.example.fi -> redirects me to https://example.se/?lang=fi. OK
http://example.fi -> redirects me to https://example.se/?lang=fi OK
https://example.fi -> redirects me to https://example.se/?lang=fi OK
https://www.example.fi -> redirects me to https://example.se without the lang parameters.  WRONG. It should take me to the same place as the other.

Это мой виртуальный http-хост:

<VirtualHost *:80>
ServerName www.example.fi
ServerAlias example.fi
DocumentRoot /var/www/html/dir
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Redirect permanent / https://example.se/?lang=fi
</VirtualHost>

И это мой https:

<VirtualHost *:443>
ServerName www.example.fi
ServerAlias example.fi
DocumentRoot /var/www/html/dir
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /home/user/example.fi.pem
SSLCertificateKeyFile /home/user/example.fi.key
SSLCACertificateFile /home/user/intermediate.pem
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.fi$ [NC]
RewriteRule ^ https://example.se%{REQUEST_URI}/\?lang=fi [R=301,L]

Как видите, я хочу, чтобы разные языковые домены указывали на домен SE с параметром language.

Как я могу изменить свой код, чтобы он соответствовал всем возможным вариантам https, http и www вместе?

1 Ответ

0 голосов
/ 16 мая 2019

в вашем коде

  RewriteCond %{HTTP_HOST} ^example\.fi$ [NC]
  RewriteRule ^ https://example.se%{REQUEST_URI}/\?lang=fi [R=301,L]

Переписать только совпадения htt (s): //exemple.fi URL

Без ^ должно работать

  RewriteCond %{HTTP_HOST} example\.fi$ [NC]
  RewriteRule ^ https://example.se%{REQUEST_URI}/\?lang=fi [R=301,L]
...