Si la Matriz/Tabla contiene xyz, que redirigir a su valor (PHP? JS? htaccess?)

0

Pregunta

Me mudé aprox 100 artículos de mi sitio web antiguo a uno nuevo. Quiero crear una redirección en el antiguo sitio de la cabecera, por lo que si la antigua dirección URL de un artículo en el que iba a ser visitado, el visitante debe ser redirigido a la nueva URL de dicho artículo.

Sin embargo, simplemente sustituyendo el dominio no hacer el truco, ya he cambiado el enlace de los artículos. Así que yo necesitaría un poco de "base de datos" (con matrices?) que pueda decidir si la URL tiene una redirección en la base de datos, 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";

Así, por ejemplo, si un visitante "http://OldWebsite.com/article-cars" él debe ser redirigido a "http://NewWebsite.com/new-cars-article" porque es lo que la base de datos o matriz, dice.

Y así me podría algo como esto:

$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();
    }
}

Por supuesto, este código es totalmente equivocado, pero yo casi no tienen idea acerca de PHP, así que por favor podría ayudarme a resolver esto? (un JavaScript-solución está muy bien también, o htaccess, o lo que sea :) )

Muchas gracias!

1

Mejor respuesta

0

Creo que he resuelto este ahora con htaccess (no tengo ni idea sobre htaccess, tal buscado en google, incluso más).

<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>

Es normal esto de esta manera?

2021-11-21 20:05:20

Así que, ¿funciona? Entonces es "bueno", ¿verdad?
arkascha

@arkascha Una solución de trabajo todavía puede ser una mala solución :) podría causar problemas más adelante, o ser un problema en materia de seguridad, etc.
Imre

Por supuesto, no hay declaración es absolutamente cierto y conocido. Pero, ¿cómo esperas de los demás para responder a esto? Sabemos nada acerca de su situación específica o el futuro. Así que sólo podemos responder, en general, y en términos generales. Redirigir las solicitudes es posible, una cosa normal y no por sí mismo de repente abierto evidentes problemas de seguridad.
arkascha

En otros idiomas

Esta página está en otros idiomas

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