Gå til innhold

Skript som videresender IE, men ikke Firefox?


Anbefalte innlegg

Hei!

 

Jeg trenger et enkelt lite script som vidresender IE til en side, og Firefox + alt annet til en annen side. Er dette enkelt å få til? Er ikke helt stø på PHP selv..

 

Men noe sånt:

if IE
redirect til /side/ie.html
else
redirect til /side/index.html

For eksempel..

 

Mvh

_Ferrari_

Lenke til kommentar
Videoannonse
Annonse

La hovedsiden være tilpasset for nettlesere som overholder standardene (som FireFox) og bruk følgende metoder til å videresende IE-brukerene til ie.html (eller get_a_real_browser_please.html :p):

http://www.devin.com/ieblock_howto.shtml

 

PHP-metoden blir nok som følger (la hovedsiden hete index.php):

PHP
<?php

 if (eregi("MSIE",getenv("HTTP_USER_AGENT")) ||

 eregi("Internet Explorer",getenv("HTTP_USER_AGENT"))) {

Header("Location: http://www.DITTDOMENE.com/side/ie.html");

exit;

 }

?>

Endret av aadnk
Lenke til kommentar

Flotte saker! Det fungerte utmerket!

Men, jeg vil sende de andre nettleserene til en annen side? Hvordan skal jeg få til det da?

 

EDIT: Løst!

Gjorde det slik:

PHP

<?php

 if (eregi("MSIE",getenv("HTTP_USER_AGENT")) ||

 eregi("Internet Explorer",getenv("HTTP_USER_AGENT"))) {

Header("Location: www.domene.com/noie.html");

exit;

 }

 echo "

<meta http-equiv="Refresh" content="2; URL= http://www.domen.com/index.html">";

 echo "Du blir videresendt til VSKs side nå!"

?>

Endret av _Ferrari_
Lenke til kommentar
Gjest Slettet+142

Bare endre verdien i variabelen her, du:

 

PHP

<?php

 $adresse "http://www.DITTDOMENE.com/side/ie.html";

 if (eregi("MSIE",getenv("HTTP_USER_AGENT")) ||

 eregi("Internet Explorer",getenv("HTTP_USER_AGENT"))) {

Header("Location: {$adresse}");

exit;

 }

?>

 

Slik du mente?

Lenke til kommentar
Gjest Slettet+142

Legger til løsningen anyway jeg :)

PHP
<?php

 $adresse "http://www.DITTDOMENE.com/side/ie.html";

 $adresse2 "http://www.DITTDOMENE.com/side/index.html";

 if (eregi("MSIE",getenv("HTTP_USER_AGENT")) ||

 eregi("Internet Explorer",getenv("HTTP_USER_AGENT"))) {

Header("Location: {$adresse}");

exit;

 }else{

header("Location: {$adresse2}");

exit;

 }

?>

Endret av Slettet+142
Lenke til kommentar
Legger til løsningen anyway jeg :)

PHP
<?php

   $adresse = "http://www.DITTDOMENE.com/side/ie.html";

   $adresse2 = "http://www.DITTDOMENE.com/side/index.html";

   if (eregi("MSIE",getenv("HTTP_USER_AGENT")) ||

       eregi("Internet Explorer",getenv("HTTP_USER_AGENT"))) {

    Header("Location: {$adresse}");

    exit;

   }else{

    header("Location: {$adresse2}");

    exit;

   }

?>

9177478[/snapback]

 

 

Hvorfor exit?

 

Med mindre jeg er helt fjern idag er den totalt overfløding...

Lenke til kommentar
Gjest Slettet+142

Haha, ryddighet, ja. :p

Actually, så var det visst 10 bytes + 2 ekstra linjeskift = 12 bytes.

Huff. Det er alt for mye :tease:

--

Genial quote i signaturen din, btw :p

Endret av Slettet+142
Lenke til kommentar
Hvorfor exit?

9189669[/snapback]

Her er den fullstendig unødvendig, ja, men den var opprinnelig ikke det. I mitt kodeeksempel ble det kun gjort en omdirigering fra hovedsiden i tilfelle brukeren benyttet Internet Explorer, og i så fall ville det være naturlig å avbryte nedlastingen av hovedsiden. Dersom man bruker en egen dedikert side til slikt, er exit() helt klart unødvendig.

 

Det er for øvrig en ørliten ulempe med å modulere bort denne funksjonaliteten - hva skjer når en FireFox-bruker får URL-adressen til siden din via en IE-bruker (eller omvendt)? Kommer han/henne ikke inn på feil nettside? Burde du ikke heller legge inn videresendingskoden i begge hovedsider (bruk NOT-operatoren eller ELSE i side 2), slikt at denslags unngås?

Endret av aadnk
Lenke til kommentar

Det problemet vil ikke oppstå. Siden er lagt opp slik:

 

www.mittdomene.org

- der ligger php-koden som sender IE brukere hit:

- www.mittdomene.org/ie/noie.html

- og alle andre brukere hit:

- www.mittdomene.org/joomla (hvor hovedsiden ligger)

 

På siden som IE-brukerene får opp, ligger en vidre link til hovedsiden. Det vil ikke bli noen problemer av dette?

Lenke til kommentar
Det problemet vil ikke oppstå. Siden er lagt opp slik:

 

www.mittdomene.org

  - der ligger php-koden som sender IE brukere hit:

    - www.mittdomene.org/ie/noie.html

  - og alle andre brukere hit:

    - www.mittdomene.org/joomla (hvor hovedsiden ligger)

 

På siden som IE-brukerene får opp, ligger en vidre link til hovedsiden. Det vil ikke bli noen problemer av dette?

9194183[/snapback]

 

Hvis det er meningen at IE brukerene skal få komme inn på hovedsiden selv om det bruker IE så er det ingen problem. Men hvis IE brukere ikke skal kunne komme inn på hovedsiden så må du fikse noe, for nå kan IE brukere bare skrive "www.mittdomene.org/joomla" så er de inne de også. Sperr alle IE brukere ut av nettet sier nå jeg, lagde en siden for en stund tilbake, full CSS, CSSen ble valdiert og fungerte fint i alle nettlesere, helt til jeg prøvde i IE, der hva den helt ødelagt for å si det mildt, måtte kode masse masse extra tull i cssen for at du skulle se noenlunde likt ut i IE og, hater at IE ikke kan lese css skikkeligt!

Lenke til kommentar

Jeg skal absolutt ikke sperre alle IE brukere ute. Meningen var bare å gi en advarsel om at siden ikke ser ut som den skal i IE. Selvfølgelig skal de få tilgang til siden. Siden er for et skolekorps, så gjennomsnittsalderen på de besøkende vil være ganske lav, og det er ikke sikkert at barn kan innstallere noe på familie-PC'en. At de vil bruke URLen www.domene.org/joomla ser jeg på som lite sannsynlig.

 

EDIT: Hva gjør jeg for å bare vidresende IE6? Men la IE7 passere? For IE7 viser siden ganske normalt.

Endret av _Ferrari_
Lenke til kommentar

Foreslår isåfall at du bare implementerer en notisboks på toppen av hovedsiden som sier ifra til IE-brukeren om at han kanskje ikke får sett siden skikkelig. !IE-nettlesere får selvfølgelig ikke se denne boksen.

 

Så sparer du brukeren for et ekstra museklikk ;)

Lenke til kommentar

Legg til denne snutten under body.

 

<?php
$browser =  strtoupper($_SERVER['HTTP_USER_AGENT']);

if(eregi("MSIE", $browser) == 1)
{?>
<div class="notification">Denne siden vises best i <a href="http://www.firefox.com">Firefox</a></div>  
<?php }

 

og lag en fin klasse for notification så det blir pent.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...