Ich habe Multi-Site-WordPress, ich möchte die Haupt-Site auf eine der Sub-Sites umleiten, aber die Umleitung in .htacecss gibt Fehler. Gibt es eine Möglichkeit, eine Hauptwebsite zu ihrer Unterwebsite umzuleiten? Das scheint nicht möglich zu sein, aber ich bin kein WordPress-Experte.
Die Weiterleitung sollte wie folgt aussehen
weiterleitung 301 www.example.com/main-site www.example.com/main-site/sub-site
Oder ob es einen anderen Weg gibt, das zu tun?
Sie können die Aktion parse_request
verwenden, um dies zu erreichen. Aktivieren Sie dieses Plugin einfach in Ihrem primären Blog. Fügen Sie den folgenden Code in eine .php-Datei ein und laden Sie ihn in Ihr Plugins-Verzeichnis hoch.
/*
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;
}
}
Lassen Sie mich wissen, wenn Sie Fragen haben.
Es scheint, dass der $wp->request
, der in der obigen Antwort vorgeschlagen wurde, immer eine leere Zeichenfolge ist (in WPMS 4.5.2), sodass Sie dies stattdessen mit is_main_site();
vergleichen können.
Die akzeptierte Antwort funktioniert nicht für Wordpress 4.9.8. Hier ist der aktualisierte und getestete Code. Fügen Sie dies in function.php des aktiven Themas ein.
<?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' );
?>