Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

Meerdere domeinen afhandelen verschillende content zien

Pagina: 1
Acties:

Vraag


  • RobbyTown
  • Registratie: april 2007
  • Laatst online: 11:15
Onderwerp werd te lang, betreft dus PHP

Nu kan ik wel iets van php maar ik vraag mij af als het nog korter en beter kan.

Het gaat om het volgende verschillende domeintjes komen op hetzelfde uit maar moeten eigenlijk verschillende content laten zien zonder forward.

Normaal zou virtualhost een/de oplossing zijn maar dat is niet de bedoeling ik wil het via php afhandelen.

Momenteel heb ik dit, ik vraag mij af als het netter en beter kan. Voorbeeld www heb ik er nu ook bij getypt anders werkt het niet als je met www naar het domein gaat. Is dit de kortste code of kan het nog korter?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php 
$domain = $_SERVER['HTTP_HOST'];
if ($domain == "mijnip-tje.nl" || $domain == "www.mijnip-tje.nl") 
{
 echo $_SERVER['REMOTE_ADDR']; ?>
<?php } else if ($domain == "fanvantweakers.nl" || $domain == "www.fanvantweakers.nl") { ?>
Hey hallo! Ik ben fan van Tweakers jij ook?
<?php } else if ($domain == "vorkje.nl" || $domain == "www.vorkje.nl") { ?>
<img border="0" src="vorkje.jpg" />
<?php
}
?>

Beste antwoord (via RobbyTown op 13-02-2021 09:25)


  • Mr. HTTP
  • Registratie: november 2020
  • Laatst online: 26-07 23:40
Switch statement gebruiken en per applicatie endpoint (switch context met 1 of meerdere domeinnamen) een $applicatie_id toewijzen en dat hergebruiken zodat je non-matches kan afvangen en niet met templating bezig bent tussen je logic. Snappen dat de Host header field (HTTP_HOST) niet altijd alleen een domeinnaam hoeft te zijn aangezien de syntax
code:
1
 host[:port]
* is. De Host header field kan ook worden weggelaten wat in bijv. nginx dan wordt opgepikt door de default server.
Daarom de port syntax vroegtijdig wegfilteren (of valideren en splitten op :), host waarde eventueel lowercase maken voor de vage requests aangezien host case-insensitive is... Regex gebruiken is niet nodig, string compares zijn goedkoper en je wilt meestal in je domain routing logic heel concreet zijn over wat een entrypoint is en wat niet.
Beter ook niet $_SERVER direct aanspreken maar filter_input gebruiken.

Volgens mij heb ik zo alles gehad ;)
Dus nee het kan niet korter, wel beter... (of gewoon een framework gebruiken)

*
code:
1
host = ipv4 | [ipv6] | domain name | host name

[Voor 62% gewijzigd door Mr. HTTP op 11-02-2021 22:01]

Alle reacties

Pagina: 1


Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Microsoft Xbox Series X LG CX Google Pixel 5a 5G Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True