Если массив/таблица содержит xyz, чем перенаправить на его значение (PHP? Джей СИ? htaccess?)

0

Вопрос

Я переместил около 100 статей со своего старого сайта на новый. Я хочу создать перенаправление в заголовке старого сайта, поэтому, если будет посещен старый URL статьи, посетитель должен быть перенаправлен на новый URL этой статьи.

Однако простая замена домена не поможет, так как я изменил постоянную ссылку на статьи. Поэтому мне понадобится некоторая "база данных" (с массивами?) который определит, есть ли у фактического URL-адреса перенаправление в базе данных, например:

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

Так, например, если посетитель посещает "http://OldWebsite.com/article-cars", его следует перенаправить на "http://NewWebsite.com/new-cars-article", потому что так говорит база данных/массив.

И поэтому я мог бы сделать что-то вроде этого:

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

Конечно, этот код совершенно неправильный, но я почти ничего не знаю о PHP, поэтому, пожалуйста, не могли бы вы помочь мне решить эту проблему? (JavaScript-решение тоже подойдет, или htaccess, или что-то еще :) )

Большое спасибо!

1

Лучший ответ

0

Я думаю, что теперь я решил эту проблему с помощью htaccess (я тоже понятия не имею о htaccess, просто погуглил еще больше).

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

Так это нормально?

2021-11-21 20:05:20

Ну, а это работает? Тогда это "хорошо", верно?
arkascha

@arkascha Рабочее решение все равно может быть плохим решением :) Это может вызвать проблемы позже или стать проблемой в отношении безопасности и т. Д.
Imre

Конечно, ни одно утверждение не является абсолютно верным и известным. Но как вы ожидаете, что другие ответят на это? Мы почти ничего не знаем о вашей конкретной ситуации или будущем. Поэтому мы можем ответить только в общих и общих чертах. Перенаправление запросов возможно, это нормальная вещь, и само по себе это не вызывает внезапных проблем с безопасностью.
arkascha

На других языках

Эта страница на других языках

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

Популярное в этой категории

Популярные вопросы в этой категории