Seite 1 von 1

Server/Forum-Name - multisite

Verfasst: 19.05.2008 18:01
von chriskuku
Ich dachte, ich hätte schon mal danach gefragt, finde aber meinen Post nicht mehr:

Wo ist eigentlich der Forumname, also der Name, der in Links (URLs), die das Forum generiert, verwendet wird, verdrahtet?

Da mein Forum zwei Interfaces hat und einmal vom Intranet über eine 192.168er Netznummer und von außen über einen Proxy angesprochen wird, müßte ich streng genommen entscheiden, woher ein Request kommt und dann entsprechend den Forumnamen (Server) setzen.

Wo ist der Name verdrahtet? Wie könnte ich das in der oben beschriebenen Weise umschreiben, je nachdem, woher der Request kommt?

Verfasst: 19.05.2008 18:35
von gn#36
Du möchtest also oben die Titelzeile ändern, je nach dem worüber der Aufruf erfolgte?

Generell ist der Titel in der Datenbank, genauer der Tabelle $prefix_config gespeichert. Da du aber schlecht jedes mal die Datenbank anpassen kannst wenn der Aufruf über eine andere Seite kommt würde ich einfach stattdessen in der common.php ein wenig rumbasteln und von Hand den Wert der in der Config steht überschreiben. Hierzu nach folgenden Zeilen

Code: Alles auswählen

// Grab global variables, re-cache if necessary
$config = $cache->obtain_config();
Einfach einfügen:

Code: Alles auswählen

if($_SERVER['SERVER_NAME'] == 'xyz')
{
$config['sitename'] = '???';
$config['site_desc'] = '???';
}
else
{
$config['sitename'] = '???';
$config['site_desc'] = '???';
}
Fragezeichen und xyz passend ersetzen ;) (du kannst auch u.U. mit SERVER_ADDR statt SERVER_NAME arbeiten)

Verfasst: 19.05.2008 18:53
von chriskuku
Danke. Das geht schon mal in die richtige Richtung. Ich muß einmal herausbekommen, woher der request kommt, also ob von 192.168.x.x oder aus dem Internet.

Dementsprechend muß ich auch den Forum-Skripten mitteilen, daß URLs oder Links (z.B. bei Registrierung-Emails oder Cookies oder ähnl.), mit dem Servernamen 192.168.1.1 resp. forum.firma.de geschrieben werden.

Verfasst: 19.05.2008 19:11
von gn#36
1. Möglichkeit: Du passt genau an der Stelle auch noch die restlichen relevanten Variablen an:

Code: Alles auswählen

$config['server_name'] = '???';
$config['server_port'] = '???';
$config['server_protocol'] = '???';
$config['script_path'] = '???';
2. Möglichkeit: Sieh dir mal die includes/functions.php genauer an, speziell die Funktion

Code: Alles auswählen

function generate_board_url($without_script_path = false)
{
Da kannst du dann ein ähnliches Konstrukt einbauen (wobei das eigentlich die ungünstigere Variante darstellen dürfte).

Allerdings löst das das Email Problem noch nicht (die ja theoretisch auch genau andersrum generiert werden könnten). Das einfachste wäre es, die internen Zugriffe einfach auch Extern stattfinden zu lassen... :roll: