WordPress 301 редирект

WordPress 301 редирект

Здесь описаны два способа настройки редиректа для сайта на WordPress. Первый, добавить правило в .htaccess находящийся в корне сайта и второй средствами PHP.

Кроме этого, существуют довольно неплохие и действенные плагины, но это не наш путь.
Так как redirect 301 здесь не работает, необходимо использовать RewriteRule. Все правила для 301-го редиректа пишутся после строки RewriteBase /.

Например:

# BEGIN WordPress

RewriteEngine On
RewriteBase /

# Переадресация со страницы "WordPress 301 редирект" на страницу "Контакты"
RewriteRule ^/wordpress-301-redirekt/$ /contacts/  [R=301,L]

# Также, можно написать полный путь для конечной страницы
RewriteRule ^/dobavit-klass-k-miniatyure-tovara-woocommerce/$ http://webreason.ru/contacts/  [R=301,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Достаточно несложно.

В достижении того же результата средствами PHP, поможет следующий хук:

// 301 Redireсt
add_action('template_redirect', function () {
	// Переадресация со страницы WordPress 301 редирект
	if (preg_match('#^/wordpress-301-redirekt/?$#i', $_SERVER['REQUEST_URI'])) {
		// на страницу "Контакты"
		wp_redirect('/contacts/', 301);
		exit;
	}
});

Работая с переадресацией, важно помнить, многие браузеры могут запоминать ее, а Firefox, так особенно любит это.
Как вариант, настраивая переадресацию проверять можно в режиме приватного просмотра. Иначе, возможно не увидеть результата и решить, что настройки не работают.

Записи с такими же тегами:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *