Se a Matriz/Tabela contém xyz, de redirecionar para o seu valor (PHP? JS? htaccess?)

0

Pergunta

Eu mudei de cerca de 100 artigos do meu site antigo para um novo. Eu quero criar um redirecionamento no antigo site do cabeçalho, por isso, se o URL antigo de um artigo que será visitado, o visitante deve ser redirecionado para a nova URL do mesmo artigo.

No entanto, apenas substituindo o domínio não fazer o truque, como eu mudei o link permanente aos seus artigos. Então, eu iria precisar de algum "banco de dados" (com matrizes?) que iria decidir se o URL real tem um redirecionamento no banco de dados, como:

// "the old permalink" = "the new permalink"
$urlpermalink["article-cars"] = "http://NewWebsite.com/new-cars-article";
$urlpermalink["an-article-dogs"] = "http://NewWebsite.com/new-dogs-text";
$urlpermalink["old-text-trees"] = "http://NewWebsite.com/new-blogcontent-about-trees";

Assim, por exemplo, se um visitante de visitas "http://OldWebsite.com/article-cars" ele deve ser redirecionado para "http://NewWebsite.com/new-cars-article" porque é assim que o banco de dados/matriz diz.

E assim eu poderia algo como isto:

$visitingurl = $_SERVER[REQUEST_URI]; // Getting the URL the visitor is on now

foreach( $urlpermalink as $value ) { // For every entry in the database/array...
    if (strpos($visitingurl, $urlpermalink) !== false) { // check if the visitingurl contains that (like "article-cars")
        // The visitor is indeed on an old URL which is in the database/array, so let's redirect him to the new URL
        header("HTTP/1.1 301 Moved Permanently");
        header(url . $_SERVER['QUERY_STRING']);
        exit();
    }
}

É claro que esse código é totalmente errado, mas eu não tenho quase nenhuma idéia sobre o PHP, portanto, você poderia por favor me ajudar a resolver isso? (um JavaScript-solução é muito fina, ou htaccess, ou o que quer :) )

Muito obrigado!

1

Melhor resposta

0

Eu acho que eu resolver isso agora com htaccess (eu não tenho nenhuma idéia sobre o htaccess seja, apenas pesquisei ainda mais).

<IfModule mod_rewrite.c>
RewriteEngine On
RedirectMatch 301 ^/article-cars/ http://NewWebsite.com/new-cars-article
RedirectMatch 301 ^/an-article-dogs/ http://NewWebsite.com/new-dogs-text
RedirectMatch 301 ^/old-text-trees/ http://NewWebsite.com/new-blogcontent-about-trees
</IfModule>

É este o bem desta maneira?

2021-11-21 20:05:20

Bem, isso funciona? Em seguida, ele é "ok", certo?
arkascha

@arkascha Uma solução de trabalho ainda pode ser uma má solução :) Ele poderia causar problemas mais tarde, ou ser um problema em relação à segurança, etc.
Imre

Com certeza, nenhuma declaração é absolutamente verdadeiro e conhecido. Mas como você espera que os outros a resposta para isso? Sabemos quase nada sobre a sua situação específica, ou para o futuro. Então, só podemos responder, em geral, e em termos amplos. Redirecionar solicitações é possível, uma coisa normal a fazer e não por si, de repente, abrir óbvios problemas de segurança.
arkascha

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................