Redirecionar para SSL apenas para URLs específicos

1

Eu quero forçar o SSL www, redirecionando apenas alguns padrões de URL.

por exemplo,

Forçar redirecionamento de SSL no site:

http://example.com/asia/fewf -> https://www.example/asia/fewfwe
http://example.com/africa/foo/bar/1/ -> https://www.example/africa/foo/bar/1/

Não faça nada:

http://example.com/europe/1 -> http://example.com/europe/1
http://www.example.com/europe/1 -> http://www.example.com/europe/1

Eu tentei adicionar isto:

RedirectMatch 301 ^(/asia[^/]*/.*)$ https://www.example.com$1

Mas, isso resulta em um erro: "Too mant redirections"

    
por xan 18.07.2015 / 22:08

1 resposta

1

Acredito que o motivo pelo qual você está recebendo muitos redirecionamentos é porque o RedirectMatch será acionado mesmo quando o URL for solicitado em https, para que ele continue redirecionando várias vezes, mesmo que ele já se torne https.

Eu sugeriria resolver isso com o mod_rewrite. Por exemplo:

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule %{REQUEST_URI} ^(/asia[^/]*/.*)$ https://www.example.com$1 [R=301,L]

Quando você estiver testando, recomendo que, em vez de R=301 , tenha apenas R , porque isso não faz com que o navegador permaneça em cache o redirecionamento, o que pode complicar a solução de problemas.

    
por 18.07.2015 / 23:29