Zurück   WordPress Deutschland Forum > Support > Allgemeines

Antwort
 
Themen-Optionen Ansicht
Alt 03.04.2007, 13:23   #1 (permalink)
PostRank: 0
 
Benutzerbild von moneymakesmurder
 
Registriert seit: 03.04.2007
Beiträge: 4
1x WP 2x Domains

Hallo.

Ich habe einen klasse Hoster und daher die Möglichkeit den selben Content incl Permlinks, etc auf zwei domains anzeigen lassen zu können. In der Theorie funktioniert das bestens, jedoch setzt Wordpress seine Links ja nicht aus dem wirklichen Hostname, sondern dem in Wordpress gespeicherten 'HOME' zusammen.

Ich bin kein wirklicher Crack im Umgang mit Wordpress und kenne mich eigentlich als Designer nur mit der Theme und CSS Sache wirklich aus.

Ich bin mir sicher das es möglich sein muss, die index.php so zu modifzieren das es funktioniert und ich bin mir auch sicher, dass hier jemand weiss wie das funktioniert.

Danke,

MMM


PS: Ich will keinen Schnickschnack wie Kategorieen pro Domain oder gar Andere Themes pro Domain. Danke
moneymakesmurder ist offline   Mit Zitat antworten
Alt 03.04.2007, 13:43   #2 (permalink)
PostRank: 10
 
Benutzerbild von Arno Simon
 
Registriert seit: 30.11.2005
Ort: Oberhausen (Rhld.)
Beiträge: 1.646
abgesehen davon das suchmaschinen (soweit ich weis) davon nicht viel halten das content unter 2 domains erreichbar ist, hilft dir das hier weiter:

Arno Simon » WebSite auf dem Localhost

lass dich von "localhost" und "ip-weiche" nicht abschrecken... es wird immer der aufgerufene domainname mit den db-einstellungen abgeglichen und diese dann entsprechend angepasst.

eine garantie für die saubere erreichbarkeit eines blogs unter 2 domains übernehme ich aber dennoch nicht - abgesehen von meinem disclaimer zur codenutzung (siehe den entsprechenden Link im artikel).

vG

Arno
__________________
Feedback ist Wichtig!|FAQ|Rückfragen im Forum!|Wenn ich mal was vergesse.... einfach mal sagen...
Arno Simon ist offline   Mit Zitat antworten
Alt 03.04.2007, 15:38   #3 (permalink)
PostRank: 0
 
Benutzerbild von moneymakesmurder
 
Registriert seit: 03.04.2007
Beiträge: 4
Hallo,

ich habe dein Script genommen und es mir angepasst. Funktionier auch prinzipiell ganz gut. Leider nicht in der Realität.

Mir scheint, dass Wordpress vor dem Aufruf deines Scriptes checkt ob die domain auch die home-base des blogs ist, bzw ob das auch in der DB eingetragen ist. Und leitet mich dann sowieso auf die Standard domain weiter.

Falls es was hilft hier mal meine as-switch.php

PHP-Code:
<?php 
 
global $wpdb;
 
// echo '<pre>';
 
$as_host $_SERVER['SERVER_NAME'];
 
$as_actual_host 
   
$wpdb->get_var("SELECT option_value ".
                                    
"  FROM $wpdb->options ".
                                    
" WHERE option_name = 'siteurl'");
 
// echo 'act_host...:'.$as_actual_host.'<br />';
 
$as_prune parse_url($as_actual_host);
 
//print_r($as_prune);
 //echo $as_prune[host];
 
if(!isset($as_prune[host]) /*|| empty($as_prune[path])*/) {
   echo 
'<pre style="color:red;">FEHLER (Arno-Site-Switch): '.
          
'akutelle WordPress-SiteUrl enthält keinen HOST!</pre>'.$as_prune[host].$as_host;
     } else {
           if(!isset(
$as_prune[path]) || empty($as_prune[path])) {
        
$as_prune['path'] = '/'
        }
    
$as_directory $as_prune['path'];
    if(
substr($as_prune['path'],strlen($as_prune['path'])-1,1) != '/') {
        
$as_prune['path'] .= '/';
    }
    
$as_extra_host $as_prune['scheme'].'://'.$as_host.$as_prune['path'];
     
#echo 'extra_host..:'.$as_extra_host.'<br />';
    
if( $as_actual_host != $as_exta_host  ) {
        
$as_erg $wpdb->query("UPDATE $wpdb->options "
                                                    
."   SET option_value = '$as_extra_host'"
                                                    
." WHERE option_name = 'siteurl'");
        
#echo $erg."siteurl auf $as_extra_host gesetzt...</br>";
        
$as_erg $wpdb->query("UPDATE $wpdb->options "
                                                    
."   SET option_value = '$as_extra_host'"
                                                    
." WHERE option_name  = 'home'");
        if(!
function_exists('wp_cache_flush')) {
                        @include_once(
ABSPATH.'wp-include/cache.php');
                        if(
function_exists('wp_cache_flush')) { 
                                
//  It's WP2.0 or greater
                                
wp_cache_flush();
                                
// echo 'cache flushed 2';
                        
}
        } else { 
// It's WP2.0 or greater
                
wp_cache_flush();
                
// echo 'cache flushed 1';
        
}
        
#echo "x home auf $as_extra_host gesetzt...</br>";
    

    
// echo '</pre>';
 
}
 
?>
moneymakesmurder ist offline   Mit Zitat antworten
Alt 03.04.2007, 16:07   #4 (permalink)
PostRank: 0
 
Benutzerbild von moneymakesmurder
 
Registriert seit: 03.04.2007
Beiträge: 4
Funktioniert!

Nach einigen weiteren Anpassungen funktioniert nun alles 1A!

1000 Dank an dich. Was ich noch ändern musste war:

PHP-Code:
$as_host $_SERVER['HTTP_HOST']; 

Denn sonst nimmt er ja nicht die Domain von dem Request.


Super Sache hier!
moneymakesmurder ist offline   Mit Zitat antworten
Alt 03.04.2007, 16:08   #5 (permalink)
PostRank: 10
 
Benutzerbild von Arno Simon
 
Registriert seit: 30.11.2005
Ort: Oberhausen (Rhld.)
Beiträge: 1.646
Zitat:
Zitat von moneymakesmurder Beitrag anzeigen
Hallo,

ich habe dein Script genommen und es mir angepasst. Funktionier auch prinzipiell ganz gut. Leider nicht in der Realität.

Mir scheint, dass Wordpress vor dem Aufruf deines Scriptes checkt ob die domain auch die home-base des blogs ist, bzw ob das auch in der DB eingetragen ist. Und leitet mich dann sowieso auf die Standard domain weiter.

Falls es was hilft hier mal meine as-switch.php
wenn dem so wäre, würde es auf meinem localhost nicht funktionieren. der wird einmal aus dem internet über einen der dns-dienstleister, einmal von einem rechner aus meinem internen netzwerk mit http://arno/ (bzw. über die ..../etc/hosts auf die entsprechende rechnerip gemapt) und einmal auf dem localhost selber über http://localhost angesprochen. wenn der hack - so wie beschrieben - auf 2.1.2 nicht laufen würde, hätte ich zu hause das selbe problem wie du jetzt mit deinem host.

hat dein hoster eine entsprechende routine implementiert, die vllt. sogar in die rewrite-rules (.htaccess) eingreift?

vG

Arno

PS es währe gut, wenn Du Deine Änderungen entsprechend mit Kommentaren
PHP-Code:
// Start Änderung moneymaker
.
.
// Ende Änderung moneymaker 
kenntlich machen könntest, dann lässt es sich leichter nachvollziehen. Ich habe nicht sämtliches Coding das ich schreibe im Kopf und kann online vergleichen was von Dir und was von mir ist. Leider fehlt mir auch die Zeit das Coding jetzt im Editor gegenüber stellen zu können.
__________________
Feedback ist Wichtig!|FAQ|Rückfragen im Forum!|Wenn ich mal was vergesse.... einfach mal sagen...

Geändert von Arno Simon (03.04.2007 um 16:10 Uhr). Grund: PS
Arno Simon ist offline   Mit Zitat antworten
Alt 03.04.2007, 16:11   #6 (permalink)
PostRank: 10
 
Benutzerbild von Arno Simon
 
Registriert seit: 30.11.2005
Ort: Oberhausen (Rhld.)
Beiträge: 1.646
kleine überschneidung
__________________
Feedback ist Wichtig!|FAQ|Rückfragen im Forum!|Wenn ich mal was vergesse.... einfach mal sagen...
Arno Simon ist offline   Mit Zitat antworten
Alt 03.04.2007, 16:51   #7 (permalink)
PostRank: 6
 
Registriert seit: 27.12.2004
Beiträge: 657
auch wenn Du Deine Lösung schon gefunden hast - das hier solltest Du Dir noch mal angucken:
123 Multihost-Plugin

ganz feines Teil!
__________________
tschüß nepf
nepf ist offline   Mit Zitat antworten
Alt 03.04.2007, 17:46   #8 (permalink)
PostRank: 0
 
Benutzerbild von moneymakesmurder
 
Registriert seit: 03.04.2007
Beiträge: 4
Zitat:
Zitat von Arno Simon Beitrag anzeigen
kleine überschneidung
Manchmal kommt das vor, japs

Zitat:
Zitat von nepf Beitrag anzeigen
auch wenn Du Deine Lösung schon gefunden hast - das hier solltest Du Dir noch mal angucken:
123 Multihost-Plugin

ganz feines Teil!
Danke, das hatte ich ausprobiert, wollte aber nicht so wie ich.



So um das hier abzuschließen, hier mein fertiges, angepasstes Script von Arno Simon:

PHP-Code:
<?php 
global $wpdb;

/* 
Changed to HTTP_HOST to work with DOMAINS not dynamic hosts & stuff 

Auslesen des Requests, von welcher Domain ist die Anfrage?
*/
$as_host $_SERVER['HTTP_HOST'];

/* Aktuellen Host der Wordpress DB auslesen */
$as_actual_host $wpdb->get_var("SELECT option_value FROM $wpdb->options WHERE option_name = 'siteurl'");

/*Hostname in der DB angleichen*/
$as_prune parse_url($as_actual_host);

/*Hier habe ich das orginal Script auch angepasst, da der 'Path' String im Array eh immer leer ist*/
if(!isset($as_prune[host])) {
    echo 
'<pre style="color:red;">FEHLER (Arno-Site-Switch): akutelle WordPress-SiteUrl enthält keinen HOST!</pre>';
} else {
    if(!isset(
$as_prune[path]) || empty($as_prune[path])) {
        
$as_prune['path'] = '/'
    }
    
$as_directory $as_prune['path'];
    if(
substr($as_prune['path'],strlen($as_prune['path'])-1,1) != '/') {
        
$as_prune['path'] .= '/';
    }
    
$as_extra_host $as_prune['scheme'].'://'.$as_host.$as_prune['path'];
    if( 
$as_actual_host != $as_exta_host  ) {
        
$as_erg $wpdb->query("UPDATE $wpdb->options SET option_value = '$as_extra_host' WHERE option_name = 'siteurl'");
        
$as_erg $wpdb->query("UPDATE $wpdb->options SET option_value = '$as_extra_host' WHERE option_name  = 'home'");
        if(!
function_exists('wp_cache_flush')) {
            @include_once(
ABSPATH.'wp-include/cache.php');
            if(
function_exists('wp_cache_flush')) { 
                
wp_cache_flush();
            }
        } else {
            
wp_cache_flush();
        }
    } 
}
?>
Fini, Merci.
moneymakesmurder ist offline   Mit Zitat antworten
Alt 03.04.2007, 18:53   #9 (permalink)
PostRank: 10
 
Benutzerbild von Putzlowitsch
 
Registriert seit: 21.10.2006
Beiträge: 2.107
@moneymakesmurder
Freut mich natürlich, das Du das mir Arnos Hack hinbekommen hast. Andererseits würde mich schon interessieren, warum es mit dem 123-Multihost-Plugin nicht funktioniert hat. Schließlich will ich das ja auch weiter verbesserm und gegebenfalls den Wünschen der Nutzer anpassen.

@Arno
Apropos Userwünsche , wie meinst Du das mit den variablen Servervariablen? Hab ich nicht ganz verstanden.

Gruß
Ingo
__________________
putzlowitsch.de WP 2.1.3 bei All-Inkl und Strato (schnurpsel.de)
Putzlowitsch ist offline   Mit Zitat antworten
Alt 03.04.2007, 19:04   #10 (permalink)
PostRank: 10
 
Benutzerbild von Arno Simon
 
Registriert seit: 30.11.2005
Ort: Oberhausen (Rhld.)
Beiträge: 1.646
Hallo Ingo,

ich zitiere mal aus Punkt 2 Deiner Seite Putzlowitscher Zeitung » 123 Multihost :
Zitat:
... gibt anstelle das in der Datenbank hinterlegten Wertes einfach den Serverparameter ‘HTTP_HOST’ (plus vorangestelltem ‘http://’) zurück.
HTTP_HOST ist auch das was moneymakesmurder nutzen musste, bei ist es dagegen $_SERVER['SERVER_NAME']. Wenn man das noch in Deiner Backend-Konfiguration einstellen könnte - ein einfaches Textfeld reicht IMHO; soviel verstand den Eintrag Case-Sensitiv bzw. so zu machen wie es von PHP verlangt wird sollte der Anwender noch aufbringen - währe es gut. Ich kann Dein Plugin erst am WE testen, aber das ist so gesehen zunächst mal das einzigste Manko das mir so at hoc auffällt. Alles weitere kann ich natürlich erst testen / beschreiben / bestätigen - was auch immer - wenn ich für ausführliche Tests die Zeit (was'sn das?!?) finde

vG

Arno
__________________
Feedback ist Wichtig!|FAQ|Rückfragen im Forum!|Wenn ich mal was vergesse.... einfach mal sagen...
Arno Simon ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:14 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 | Impressum | Ein Inpsyde.com Projekt