मल्टीसाइट वर्डप्रेस में मुख्य साइट को पुनर्निर्देशित करें


11

मेरे पास मल्टी-साइट वर्डप्रेस है, मैं मुख्य साइट को उप-साइट में से एक पर पुनर्निर्देशित करना चाहता हूं, लेकिन .htacecss में पुनर्निर्देशन त्रुटि देता है। क्या किसी मुख्य साइट को उसकी उप-साइट पर पुनर्निर्देशित करने का कोई तरीका है। यह संभव नहीं दिखता है, लेकिन मैं एक वर्डप्रेस विशेषज्ञ नहीं हूं, इसलिए केवल सत्यापित कर रहा हूं।

पुनर्निर्देशन जैसा होना चाहिए

पुनर्निर्देशित 301 www.example.com/main-site www.example.com/main-site/sub-site

या अगर ऐसा करने का कोई और तरीका है?

जवाबों:


10

parse_requestइसे पूरा करने के लिए आप कार्रवाई का उपयोग कर सकते हैं । बस अपने प्राथमिक ब्लॉग पर इस प्लगइन को सक्षम करें। निम्न कोड को एक .php फ़ाइल में रखें और इसे अपने प्लगइन्स निर्देशिका में अपलोड करें।

/*
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;
    }
}

अगर आपका कोई प्रश्न हैं, तो मुझे से पूछें।



1
@Toqeer आपको इनाम देना चाहिए। इसे वापस नहीं मिलेगा। ;)
केसर

बस सम्मानित किया गया, मैंने सोचा कि यह स्वचालित रूप से सम्मानित किया जाएगा :)
Toqeer

मैंने अब नवीनतम वर्डप्रेस संस्करण के साथ प्रयास किया लेकिन यह काम नहीं कर रहा है। क्या तुम्हारे पास कोई विचार है?
उपयोगकर्ता

1
मैंने इसके लिए एक समाधान ढूंढा, $ wp-> अनुरोध की जांच करने के बजाय, केवल फ़ंक्शन is_main_site () के साथ जांचें;
Maor Barazany

3

ऐसा प्रतीत होता है कि $wp->requestउपरोक्त उत्तर में सुझाया गया हमेशा एक खाली स्ट्रिंग है (WPMS 4.5.2 में), इसलिए इसके बजाय आप इसके खिलाफ जांच कर सकते हैं is_main_site();


2

Wordpress 4.9.8 के लिए स्वीकृत उत्तर काम नहीं कर रहा है। यहाँ अद्यतन और परीक्षण कोड है। इसे सक्रिय थीम के अंदर रखें।

<?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' );
?>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.