Tentando redirecionar com e sem barra final

1

Mudei um blog para um subdomínio e no subdomínio todas as categorias foram alteradas, por isso quero fazer uma lista de 301 redirecionamentos do domínio antigo para o subdomínio (hospedagem diferente).

O problema que estou tendo é adicionar a barra final para que eu não tenha que listar todas as URLs duas vezes.

Eu tentei isso em /blog/.htaccess :

RewriteEngine On

#RewriteRule ^(.*)$ http://domain.com/blog/$1/ [L,R=301] 

Redirect 301 /blog/test/ https://new.domain.com/test/
Redirect 301 /blog/example/ https://new.domain.com/example/
(etc...)

Isso não funciona, pois o navegador detecta muitos redirecionamentos.

Qual é a sintaxe correta aqui?

Eu também tentei:

RedirectMatch /blog/test/?$ https://new.domain.com/test/ [L,R=301] 

Mas isso parece não funcionar de todo.

    
por Guerrilla 30.12.2016 / 07:00

2 respostas

1

Por favor use uma sintaxe abaixo

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !example.php
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://example.com/$1/ [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f garante que os arquivos existentes não receberão uma barra adicionada.

RewriteCond %{REQUEST_URI} !example.php exclui um URL de amostra que não deve ser reescrito.

RewriteCond% {REQUEST_URI}! (. *) / $ finalmente é acionado quando um URL não contém uma barra final - isso é tudo o que desejamos. Agora, precisamos redirecionar esses URLs com a barra final:

RewriteRule ^(.*)$ http://example.com/$1/ [L,R=301] faz o redirecionamento 301 para o URL com a barra final anexada a nós. Você deve substituir domain.com pelo seu URL.

    
por 07.08.2018 / 07:34
0

A sintaxe que parece funcionar é:

RedirectMatch 301 /blog/test/?$ https://new.domain.com/test/
    
por 30.12.2016 / 07:20