.htaccess, если/еще в зависимости от {SERVER_NAME}?

У меня есть этот .htaccess файл, но я хотел бы, чтобы он только сделал это, когда я нахожусь на живом сайте.

Есть ли любой способ, которым я могу:

// if server_name looks like example.com to this
// else dont run this bit
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} (auth|register|secure|payment|admin|trading_careers)
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(auth|register|secure|payment|admin|trading_careers)
RewriteRule ^(.*)$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Я попытался работать с SetEnvIfNoCase и IfDefine без успеха. Действительно не знайте, возможно ли сделать то, что я хочу.

Заранее спасибо.

РЕДАКТИРОВАНИЕ (пример решения для будущих читателей):

// if https is off
RewriteCond %{HTTPS} off
// if server_name like example.com (case insensitive) OR
RewriteCond %{SERVER_NAME} =example.com [NC,OR]
// server_name like www.example.com (case insensitive)...
RewriteCond %{SERVER_NAME} =www.example.com [NC]
RewriteCond %{REQUEST_URI} (auth|register|secure|payment|admin|trading_careers)
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Спасибо за большую справку.

7
задан Frankie 25 June 2010 в 17:28
поделиться

2 ответа

Вы можете добавить это условие в ваши правила:

RewriteCond %{SERVER_NAME} =www.example.com
5
ответ дан 7 December 2019 в 09:56
поделиться

Если вы используете другое имя хоста для действующего сайта:

Просто проверьте HTTP_HOST для каждого условия:

RewriteCond %{HTTP_HOST} www.example.com [NC]
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} (auth|register|secure|payment|admin|trading_careers)
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
1
ответ дан 7 December 2019 в 09:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: