2016-08-02 7 views
0

Я использую этот код для перенаправления всех ссылку на https и wwwПеренаправление HTTPS за исключением одной ссылки

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

RewriteCond %{HTTPS} off 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

Но я хочу одно звено не перенаправлять https

Пример:

http://myname.com --> https://www.myname.com 
http://myname.com/file.php -- > https://www.myanem.com/file.php 
http://myname.com/except.php -- > http://www.myanem.com/except.php 

В верхнем примере, я хочуне перенаправлять https

+1

Обратите внимание, что если вы не перенаправляет все ссылки на протокол HTTPS для браузеров, вы не можете использовать HSTS, единственную защиту от MiTM и SSLstrip , – Tom

+0

@Mohammad Как насчет 'https: // myname.com/except.php', вы хотите, чтобы он оставался' https' или переписывался обратно на 'http'? –

+0

@DusanBajic, я хочу вернуться к http – Mohammad

ответ

0

Это должно сделать:

RewriteCond %{HTTPS} off 
RewriteCond %{REQUEST_URI} !^/except\.php$ 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_URI} ^/except\.php$ 
RewriteRule^http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule^%{REQUEST_SCHEME}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
+0

Thx, но не работает для меня – Mohammad

+0

Что-нибудь произойдет, если вы введете 'http: // myname.com/except.php' в адресную строку? –

+0

Ошибка, не загружая страницу и перезагружая ее до https, снова перезагрузите ro http навсегда – Mohammad

Смежные вопросы