Kom ihåg mig?
Home Menu

Menu


Visa olika information beroende på domännamn

Ämnesverktyg Visningsalternativ
Oläst 2008-03-01, 14:53 #1
Kays avatar
Kay Kay är inte uppkopplad
Medlem
 
Reg.datum: May 2004
Inlägg: 292
Kay Kay är inte uppkopplad
Medlem
Kays avatar
 
Reg.datum: May 2004
Inlägg: 292
Hur kan man koppla flera domännamn till en och samma sida och fortfarande surfa under aktuellt domännamn?

Som det är nu har jag identiska speglingar av sidorna för varje domän, som outputtar information från databasen beroende på vilken domän man är på. Problem är bland annat att en liten ändring kräver att jag ändrar i alla speglingar av sidan och jag känner att det hade kunnat varit smidigare att bara använda sig av en kopia av sidan.

Finns det någon lösning på detta problem? Jag ligger hos Binero på server med ASP-stöd.
Kay är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-01, 15:15 #2
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Ett sätt att lösa det är att du har ett script på din sida som ropar på ett huvud script som ligger någon annanstans. Ur anropet framgår vilken domännamn som avses och där kan du läsa av det och skicka med det i sidans presentation så att det står rätt saker i titel och annat. Exakt hur du löser det i ASP och på ditt webbhotell vet jag inte. Enklast är om alla dina sidor ligger på samma (helst egna) server där du har fri tillgång till filsystemet.
Magnus_A är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-01, 15:20 #3
ztreams avatar
ztream ztream är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2005
Inlägg: 2 448
ztream ztream är inte uppkopplad
Supermoderator
ztreams avatar
 
Reg.datum: Jan 2005
Inlägg: 2 448
Typ såhär i PHP gör jag det som Magnus beskrev:

if(substr($_SERVER['SERVER_NAME'],0,4)!="www.")
$_SERVER['SERVER_NAME']="www.".$_SERVER['SERVER_NAME'];

$url=parse_url("http://" . $_SERVER['SERVER_NAME']);

$site = mysql_query("select * from DINA_SIDOR WHERE site_url='$url[host]'");

Sedan ligger alla sidor i tabellen DINA_SIDOR med deras info.
ztream är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-01, 15:45 #4
Kays avatar
Kay Kay är inte uppkopplad
Medlem
 
Reg.datum: May 2004
Inlägg: 292
Kay Kay är inte uppkopplad
Medlem
Kays avatar
 
Reg.datum: May 2004
Inlägg: 292
ztream: Tack för exemplet. Databasens uppbyggnad är idag som den bör vara, men problemet är att alla domäner har sin egen default.asp med design och som läser in information från databasen. Designen skall dock vara precis likadan på alla sidor, så att uppdatera 15-20 default.asp-sidor känns onödigt ifall man kan kapa ner det till enbart en.

Magnus_A: Det låter som att jag är ute efter något i den stilen, men kan man inte komma bort ifrån att man måste ha en default.asp/index.php liggandes i varje mapp och istället peka domänerna på en specifik fil någonstans? Jag har på känn att det kan bli knepigt med webbhotell och att man kanske, som du säger, borde ha en egen server. Samtidigt vet jag inte vad gammelknack-ASP har för funktioner för att läsa in en .asp-sida under annan domän och bibehålla funktionaliteten. Tips någon? Finns ju Execute(), men har haft problem med den innan.

---

För precis som du skriver ztream ligger alla domännamn i en tabell med ett ID-nummer tilldelat. default.asp börjar med att plocka fram detta ID genom att känna av vilket domännamn man är inne på i adressfältet och skriver sedan ut meny, artiklar och övriga applikationer som bildgallerier, forum och liknande funktioner kopplade till detta ID.
Kay är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-05, 12:41 #5
herq herq är inte uppkopplad
Nykomling
 
Reg.datum: May 2006
Inlägg: 13
herq herq är inte uppkopplad
Nykomling
 
Reg.datum: May 2006
Inlägg: 13
Jag är inte säker på att jag förstått saken rätt men jag gör typ på följande vis i php. I min config så känner jag av vilken url som används och levererar konstanter/databaslogin beroende på det. Det går säkert att snickra ihop en liknande lösning för ASP.

Kod:
class Constants
{
  private static $_instance;
  
  public static function getInstance()
  {
    if (!(self::$_instance instanceof ConstantsInterface)) {
      $fooSiteServerNames = array('www.foo.com', 'admin.foo.com'); // Osv
      $barSiteServerNames = array('www.bar.com', 'admin.bar.com'); // Osv

      if (in_array($_SERVER['SERVER_NAME'], $fooSiteServerNames)) {
        self::$_instance = FooConstants::getInstance();
      } else if (in_array($_SERVER['SERVER_NAME'], $barSiteServerNames)) {
        self::$_instance = BarConstants::getInstance();
      }
    }
    
    return self::$_instance;
  }
}
herq är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-05, 13:26 #6
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Fråga: kan man göra detta i något av våra vanligaste cms system, som Joomla eller Wordpress?
Magnus_A är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-05, 13:31 #7
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Nytt förslag till lösning: Det går ju att administrera identiska speglingar via ftp om du kan automatisera uppladdningen av sidorna. Det enda som behöver skilja sig är en liten config-fil med domänspecifika värden i. Den behöver du inte röra.
Magnus_A är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 13:19.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017