Página 1 de 1

Redirecionar tópicos deletados

Enviado: 15 Jul 2013, 00:09
por Kosega
Qual a URL do seu fórum:Estou usando uma subpasta do ip do servidor, pois ainda não consigurado o domínio.
Tipo de Hospedagem: Pago
Qual a versão do phpBB: phpBB 3.0.11
É um novo ou uma conversão: Instalação Limpa
Usuário de teste: Usuário: Senha:
Estilos instalados: prosilver
Modificações instaladas: nenhuma
Qual seu nivel de experiência: Intermediario
Quando começou o problema: Na restauração do do banco de dados
Descreva seu problema: Eu fiz a importação do meu banco de dados em um servidor novo.
Devido a um problema na importação vários tópicos não foram restaurados.
Eu fiz uma nova restauração apenas dos que faltaram.
Com isso eles assumiram um ID diferente, então quando eu transferir o domínio de servidor, com isso os IDs antigos irão dar como inexistentes para o Google, gerando vários links inválidos.
OK, isso não é um problema como um todo, já que o banco não é tão grande e eu posso apaga-lo e restaurar novamente com os IDs corretos.

Porém me veio essa dúvida. É possível no lugar da mensagem que informa que o tópcio não existe (erro 404) retornar um erro 301 e redirecionar para o Index do fórum?

Re: Redirecionar tópicos deletados

Enviado: 15 Jul 2013, 03:21
por _Vinny_
Kosega, erro 404 e 301 são configurados via servidor ou mesmo via .htacess para fazer o redirecionamento.

Re: Redirecionar tópicos deletados

Enviado: 15 Jul 2013, 16:03
por Kosega
Acontece que a página informando que o tópico não existe é reconhecida pelo Google como uma página 404.
Por exemplo: se você remover esse tópico aqui do forum após ele ser indexado pelo google, na proxima vez que ele visitar esse tópico ele vai gravar essa página como um erro 404 no Google Webmaster.
Eu gostaria que quando alguém tentar abrir um tópico que não exista, ele seja redirecionado para o index do forum ao invez de receber essa mensagem, assim o google vai reconhecer essa página como uma página 301 (redirecionamento) e não vai gravar um erro no Google Webmaster.

É possível efetuar esse redirecionamento para o index no lugar da mensagem de tópico inexistente?
Procurei no site oficial do phpBB mas não encontrei nada que me ajude.
Se precisa efetuar via htacess, como posso proceder?

Obrigado.

Re: Redirecionar tópicos deletados

Enviado: 15 Jul 2013, 21:48
por _Vinny_
- Você pode configurar a página 404 para redirecionar para o index.php após alguns segundos.

- Ou creio que redirecionar diretamente da página viewtopic.php quando a mensagem de não existente aparecer. Abra viewtopic.php, localize a linha 284:

Código: Selecionar todos

	trigger_error('NO_TOPIC');
Substitua por:

Código: Selecionar todos

	meta_refresh(0, "{$phpbb_root_path}index.$phpEx");
	trigger_error('NO_TOPIC');
ATENÇÃO: antes de realizar este procedimento, faça uma copia do arquivo editado, porque eu não testei se de fato a alteração acima funcionará. Teste e poste o resultado.

Re: Redirecionar tópicos deletados

Enviado: 16 Jul 2013, 01:51
por Kosega
Olá Vinny.
Esta retornando o seguinte erro ao abrir um tópico que não existe:
Fatal error: template->_tpl_load_file(): File /message_body.html does not exist or is empty in /home/public_html/phpBB3/includes/functions_template.php on line 63
Mas eu consegui fazer o que queria da seguinte maneira. Procurei a linha que você indicou:

Código: Selecionar todos

trigger_error('NO_TOPIC');
E substitui por:

Código: Selecionar todos

header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.google.com.br/");
exit();
No caso, no lugar do endereço do Google irei usar o index do meu forum, o fato é que com esse código funcionou, então deixo aqui registrado caso alguém mais precise.

Re: Redirecionar tópicos deletados

Enviado: 16 Jul 2013, 03:16
por _Vinny_
Opa, perfeito. Não esqueça de marcar como resolvido na mensagem que resolveu a sua dúvida. ;)