FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Medlem
|
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. |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Klarade millennium-buggen
|
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.
|
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Supermoderator
|
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. |
|||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Medlem
|
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. |
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Nykomling
|
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; } } |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Klarade millennium-buggen
|
Fråga: kan man göra detta i något av våra vanligaste cms system, som Joomla eller Wordpress?
|
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Klarade millennium-buggen
|
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.
|
||
![]() |
![]() |
Svara |
|
|