Pagina's

maandag 28 november 2011

Dag 61: C# auto registratie gereed / mod_rewrite Apache

Vandaag de dag begonnen met een nogal verontrustend ticket van een klant. Deze gaf aan dat ongeveer zeven van de tien servers die wij voor hun in beheer hebben, offline bleken te wezen. Na dit direct te controleren bleek echter dat alle servers nog gewoon online waren. Wat de klant uiteindelijk bedoelde was dat hij deze server niet meer via RDP kon benaderen.
Aangezien ik dit zelf nog wel kon bij alle machines, kwam bij mij direct het idee naar boven dat deze klant vanaf verschillende machines heeft geprobeerd in te loggen via RDP. Na deze vraag bij de klant neer gelegd te hebben, bleek dit ook daadwerkelijk zo te wezen. De drie machines die volgens de klant nog wel te benaderen waren, waren benaderd vanaf de machine die al wel was toegestaan in onze firewall. De overige zeven bleken vanaf een externe locatie geprobeerd benaderd te worden (nogal logisch dat dat niet gaat werken!). Ik heb vervolgens het IP adres van deze persoon opgevraagd bij de klant, en deze vervolgens in de firewall toegestaan op 3389/tcp (RDP). Na verificatie bleek alles weer naar behoren te werken, ook voor deze externe persoon.

Later voor lunchtijd ben ik nog aan de gang geweest met mijn C# applicatie. De auto registratie module is nu af. Het resterende puntje was om deze nog fool proof te maken, door middel van enkele checks bij het toevoegen en bewerken scherm. Het is nu niet meer mogelijk om onzin in te vullen.

Na de lunch ben ik aan de ganag geweest met een PHP website die ik afgelopen vrijdag op een Linux machine bij ons heb opgezet. Deze website bestaat uit een zowel Nederlands als Engelstalige versie. De drie domeinen die naar deze website toe moeten linken zijn .nl, .be en .com. De .nl en .be versie moeten standaard op de Nederlandstalige versie van de website uitkomen. De .com versie standaard op de engelse. Het probleem was echter dat deze website zo gebouwd is, dat het met cookies werkt. Standaard komen alle drie de domeinen op de Nederlandstalige versie uit. Wanneer men op klikt op de Engelstalige versie van de website, worden deze instellingen opgeslagen in een cookie en opgeslagen op de computer van de gebruiker. Wanneer vervolgens de drie domeinen worden bezocht (.nl, .be en .com) blijken ze allemaal de Engelstalige versie weer te geven door de instellingen die uit deze cookies worden geladen.
Aangezien dit niet wenselijk is, en de klant dit ook aan gaf, heb ik via Apache mod_rewrite rules in de virtualhost config file een aantal rules geschreven die achter de schermen naar de /nl versie gaan wanneer de .nl en .be website bezocht worden. Wanneer het .com domein wordt bezocht wordt de gebruiker vanzelf door gestuurd naar de /en versie van de website.
Het is natuurlijk niet zo netjes dat deze daadwerkelijk in de URL worden weergegeven (voorbeeld: www.example.com/en). Daarom heb ik hierbij ook geen gebruik gemaakt van een 301 redirect. Wat ik wel heb gebruikt zijn een aantal RewriteRules, die dus zonder dat de gebruiker dit te zien krijgt, de content voor '/' (root) ophaalt bij /en of /nl. Hierdoor krijgt de gebruiker de juiste taal te zien afhankelijk van het bezochte domein, maar krijgt dit niet als subpad achter het domein te zien.

Geen opmerkingen:

Een reactie posten