Как написать.htaccess, который обрабатывает субдомены также для перенаправления на https:
У меня есть это правило.htaccess
RewriteEngine On
RewriteCond% {HTTPS} off
RewriteRule ^ (. *) $ https://%{SERVER_NAME}% {REQUEST_URI} [L, R]
Это охватывает родительский домен, но не поддомен.
Мой поддомен имеет ту же общую папку, что и родительский домен.
example.com перенаправляется на https://example.com/
Но subdomain.example.com не перенаправляется на https://subdomain.example.com/
Как я уже говорил выше, оба указывают на одну и ту же общую папку, поэтому я хочу, чтобы вышеуказанное правило обрабатывало оба.
Но я не хочу писать имя своего домена или субдомена в правиле htaccess. Он должен охватывать любой домен и любой поддомен
1 ответ
Вы можете сделать это с HTTP_HOST
заголовок:
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R]
Таким образом, вы получаете его из запроса, а не используете имя сервера для виртуального хоста. Также упрощает регулярное выражение, так как вы не используете захват.
- Перейдите в папку вашего поддомена
- Создайте файл.htaccess в этой папке
- и вставьте этот код:
просто скопируйте и вставьте этот код:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]