Dizi / Tablo xyz içeriyorsa, değerine yönlendirmekten (PHP? JS? htaccess mi?)

0

Soru

Eski web sitemden yaklaşık 100 makaleyi yenisine taşıdım. Eski sitenin başlığında bir yönlendirme oluşturmak istiyorum, bu nedenle bir makalenin eski URL'si ziyaret edilecekse, ziyaretçinin bu makalenin yeni URL'sine yönlendirilmesi gerekir.

Ancak, makalelerin kalıcı bağlantısını değiştirdiğim için yalnızca etki alanını değiştirmek hile yapmaz. Demek ki, biraz "veritabanı" (ile diziler?) gerçek URL'nin veritabanında bir yönlendirme olup olmadığına karar verecek, örneğin:

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

Örneğin, bir ziyaretçi ziyaret ederse "http://OldWebsite.com/article-cars", o yönlendirilmelidir "http://NewWebsite.com/new-cars-article" çünkü veritabanı / dizi böyle diyor.

Ve böylece böyle bir şey yapabilirim:

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

Tabii ki bu kod tamamen yanlış, ama PHP hakkında neredeyse hiçbir fikrim yok, bu yüzden lütfen bunu çözmeme yardım eder misiniz? (bir JavaScript çözümü de iyi ya da htaccess ya da her neyse:))

Çok teşekkürler!

1

En iyi cevabı

0

Sanırım bunu şimdi htaccess ile çözdüm (htaccess hakkında da hiçbir fikrim yok, sadece daha fazla googled).

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

Bu tamam, bu yolu var mı?

2021-11-21 20:05:20

Peki, çalışıyor mu? O zaman "tamam", değil mi?
arkascha

@arkascha Çalışan bir çözüm hala kötü bir çözüm olabilir:) Daha sonra sorunlara neden olabilir veya güvenlikle ilgili bir sorun olabilir.
Imre

Elbette, hiçbir ifade kesinlikle doğru ve bilinmemektedir. Ama başkalarının buna nasıl cevap vermesini bekliyorsunuz? Özel durumunuz veya geleceğiniz hakkında neredeyse hiçbir şey bilmiyoruz. Bu yüzden sadece genel ve geniş anlamda cevap verebiliriz. İstekleri yeniden yönlendirmek mümkündür, yapılması normal bir şeydir ve kendi başına aniden bariz güvenlik sorunları açmaz.
arkascha

Diğer dillerde

Bu sayfa diğer dillerde

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