Pokud Pole/Tabulku obsahuje xyz, než přesměrovat na jeho hodnotu (PHP? JS? htaccess?)

0

Otázka

Přestěhovala jsem se cca 100 článků ze starého webu na nový. Chci vytvořit přesměrování na starý web je hlavička, takže pokud staré URL článku by navštívil, návštěvník by měl být přesměrována na novou adresu URL daného článku.

Nicméně, jen výměna domény nebude stačit, tak jsem změnil trvalý odkaz články. Takže bych potřebovala nějaké "databáze" (s poli?) což by se rozhodnout, zda skutečná adresa URL přesměrování v databázi, jako je:

// "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";

Tak například, pokud návštěvník navštíví "http://OldWebsite.com/article-cars" měl by být přesměrován na "http://NewWebsite.com/new-cars-article", protože to je to, jak databáze/pole říká.

A tak jsem mohl něco takového:

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

Samozřejmě, že tento kód je úplně špatně, ale nemám téměř žádnou představu o PHP, takže mohl byste prosím, pomozte mi řešení tohoto? ( JavaScript-řešení je taky v pohodě, nebo htaccess, nebo co :) )

Děkuji moc!!!

1

Nejlepší odpověď

0

Myslím, že řešit to teď s htaccess (nemám ponětí o tom, htaccess taky, jen vygoogloval i více).

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

Je to v pořádku takhle?

2021-11-21 20:05:20

No, to funguje? Pak je to "v pořádku", že?
arkascha

@arkascha pracovní roztok může být stále špatné řešení :) To by mohlo způsobit problémy později, nebo může být problém týkající se bezpečnosti, atd.
Imre

Jistě, ne tvrzení je naprosto pravdivé a známé. Ale jak můžete očekávat, že ostatní, aby odpověď na tuto? Víme, že téměř nic o konkrétní situaci a nebo budoucnost. Takže můžeme odpovědět pouze v obecné a široké pojmy. Přesměrování požadavků je možné, normální věc a není sám o sobě náhle otevřít zřejmé bezpečnostních otázkách.
arkascha

V jiných jazycích

Tato stránka je v jiných jazycích

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