Intereting Posts

Перенаправление простой большой проблемы

Я немного волнуюсь здесь.

Я пытаюсь перенаправить КАЖДЫЙ, что доступ к моему сайту на определенную веб-страницу, и ничего не работает! В настоящее время я пытаюсь использовать этот код:

function redirect_this() { wp_redirect( 'http://www.myawesomesite.com/here.html', 301 ); exit; } add_action('template_redirect', 'redirect_this'); 

И страница всегда показывает

 Warning: Cannot modify header information - headers already sent by ... 

Это сводит меня с ума.

Кстати, я создал плагин для хранения этого кода. Таким образом, этот код находится в одном файле плагина.

Solutions Collecting From Web of "Перенаправление простой большой проблемы"

Лучше использовать перенаправление .htaccess, чтобы избежать загрузки WP:

 Options +FollowSymLinks RewriteEngine on RewriteRule (.*) http://www.newdomain.com [R=301,L] 

Если вы хотите сохранить путь после домена (например, http://www.olddomain.com/mypage -> http://www.newdomain.com/mypage), замените последнюю строку следующим образом:

 RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L] 

template_redirect происходит после отправки заголовков, попробуйте вместо этого переадресовать redirect_this в wp_loaded:

 add_action('wp_loaded', 'redirect_this'); 

Вы должны быть немного более преднамеренными в своей функции redirect_this, чтобы специально настроить таргетинг на страницу, которую вы хотите перенаправить, иначе все будет перенаправлено на эту страницу, сделайте что-то вроде этого:

 function redirect_this() { if ( is_page('slug-of-page-you-wish-to-redirect') ) { wp_redirect( 'http://www.myawesomesite.com/here.html', 301 ); exit; } }