У меня есть этот .htaccess файл, но я хотел бы, чтобы это делалось только тогда, когда я нахожусь на сайте..htaccess if/else в зависимости от {SERVER_NAME}?
Есть ли способ, я могу:
// 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
без успеха. Не знаю, можно ли делать то, что я хочу.
Заранее спасибо.
EDIT (пример решения для будущих читателей):
// 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]
Спасибо за большую помощь.
@Marcus Adams: Нет, я имел в виду * SERVER \ _NAME *, как попросил Фрэнки. – Gumbo
@Marcus Adams: 'ServerName' также разрешен в контексте' '. –
Gumbo
прямо перед моими глазами ... как я не мог этого видеть! ;) Огромное спасибо! – Frankie