Ana Siteyi Çok Siteli Wordpress'te Alt Siteye Yönlendirme


11

Çok siteli wordpress var, ana siteyi alt siteden birine yönlendirmek istiyorum ama .htacecss içindeki yönlendirme hata veriyor. Bir ana siteyi alt sitesine yönlendirmenin herhangi bir yolu var mı? Bu mümkün görünmüyor ama ben sadece doğrulayan bir wordpress uzmanı değilim.

Yönlendirme aşağıdaki gibi olmalıdır

301 yönlendirin

Ya da bunu yapmanın başka bir yolu varsa?

Yanıtlar:


10

Bunu parse_requestgerçekleştirmek için eylemi kullanabilirsiniz . Bu eklentiyi birincil blogunuzda etkinleştirmeniz yeterlidir. Aşağıdaki kodu bir .php dosyasına yerleştirin ve eklenti dizininize yükleyin.

/*
Plugin Name: Redirect Main Site To Sub-Site
Description: Redirect 'main-site' to 'main-site/sub-site/'
Version: 0.1
Author: WPSE
Author URI: http://wordpress.stackexchange.com
License: GPL2
*/

add_action('parse_request', 'redirect_to_sub_site');
function redirect_to_sub_site(){
    global $wp;

    #Sniff requests for a specific slug
    if('main-site' === $wp->request){

        #The URL to redirect TO
        $url = 'http://www.example.com/main-site/sub-site/';

        #Let WordPress handle the redirect - the second parameter is obviously the status
        wp_redirect($url, 301);

        #It's important to exit, otherwise wp_redirect won't work properly
        exit;
    }
}

Herhangi bir sorunuz varsa bize bildirin.



1
@Toqeer Ödül vermelisin. Onu geri almayacaksın. ;)
kaiser

Sadece ödüllendirildim, otomatik olarak ödüllendirileceğini düşündüm :)
Toqeer

Şimdi en son WordPress sürümü ile denedim ama çalışmıyor. Herhangi bir fikrin var mı?
Kullanıcı

1
Bunun için bir çözüm buldum, $ wp-> isteği kontrol etmek yerine, sadece is_main_site () işleviyle kontrol edin;
Maor Barazany

3

Anlaşılmaktadır $wp->requestyukarıdaki cevapta önerdiği boş bir dize böylece yerine buna karşı kontrol edebilirsiniz (WPMS 4.5.2 olarak) her zaman is_main_site();.


2

Kabul edilen cevap Wordpress 4.9.8 için çalışmıyor. İşte güncellenmiş ve test edilmiş kod. Bunu aktif temanın function.php dosyasına koyun.

<?php
function wpse66115_redirect_to_sub_site() {
  if ( is_main_site() ) {
    exit( wp_redirect( 'http://www.example.com/main-site/sub-site/', 301 ) );
  }
}
add_action( 'parse_request', 'wpse66115_redirect_to_sub_site' );
?>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.