Neuigkeiten:

still alive...

Hauptmenü

HTML Conditionals?

Begonnen von dens, 01. März 2007, 17:10:08

Vorheriges Thema - Nächstes Thema

dens

Ich habe folgendes vor:
Wenn ein Benutzer die Startseite(index.html) aufruft,soll überprüft werden,ob er den Internet Explorer benutzt oder nicht.
Wenn er Firefox,Opera oder einen anderen Browser benutzt,soll ganz normal die index.html angezeigt werden.
Wenn er den Internet Explorer benutzt,soll hingegen die index.htm angezeigt werden(da die index.htm extra für den IE optimiert wurde).
Es gibt bereits eine HTML Conditional,mit der man wenn der Benutzer z.B:den IE nutzt,einen anderen Stylesheet verwenden kann als wenn er einen anderen Browser verwendet:
 
Kann man das für meinen Fall umfunktionieren?
Bei type= müsste glaube ich \"text/html\" hin und bei href=\"index.htm\",was muss man aber bei link rel= eingeben?
Oder funktioniert diese Methode nicht?
Ich bedanke mich schonmal für Eure Hilfe;-)

Powie

möchtest du das in PHP machen?

dens

Ich wollte erstmal schauen,ob das mit HTML überhaupt möglich ist.(da es ja wie oben bereits beschrieben schon eine Conditional mit HTML gibt)
Wenn das nicht mit HTML geht,wäre PHP wohl die beste Möglichkeit,die man dann wählen sollte.
Hast Du einen Lösungsansatz,wie man das Problem mit PHP lösen könnte?

Oder funktioniert diese Methode nicht?[/quote]
Du könntest eine Meta-Weiterleitung definieren. Dies ist aber aus diversen Gründen böse.
Bemühe lieber - auch wenn es aus anderen diversen Gründen nicht vollständig funktionieren kann - die Skriptsprache deiner Wahl. Sollte dein Webserver eine eigene Erkennung vermögen, löst Du es vorzugsweise über diesen und sparst dir die teure Involvierung einer Skriptsprache. Da die Chance, dass Du einen Apache verwendest, relativ hoch ist, solltest Du dir mal die http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html\" rel=\"external nofollow\">mod_rewrite anschauen.

dens

Eine Meta-Weiterleitung würde ich wenn es geht am liebsten vermeiden,da das nur Probleme verursacht,z.B:wenn ein Besucher auf den \"Zurück\" Button in seinem Browser klickt und dann immer auf der aktuellen Seite hängenbleibt und nicht mehr zurück kann.
Es daher mit mod_rewrite zu lösen,ist sicher die beste Idee.
Könnte das so in der Art funktionieren?
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} \"^Mozilla\\/4.0 \\ (compatible; MSIE\"
RewriteRule  ^/index.html$                 /index.htm  [L]
 

Ich habe das jetzt hier nicht getestet, aber das Prinzip ist richtig. Du solltest vielleicht neben dem L-Flag noch den R=301-Flag verwenden. Schließlich willst Du ja IEs immer weiterleiten.

dens

Ich habe es jetzt mal auch mit dem R=301-Flag probiert,allerdings erhalte ich dann eine Fehlermeldung vom Server beim Aufrufen der Seite.
Außerdem habe ich ein weiteres Problem festgestellt.
Wenn man jetzt z.B: www.domain.de/ aufruft mit dem IE wird nicht auf index.htm weitergeleitet,sondern es wird die index.html angezeigt,somit passt das Layout der Seite natürlich nicht.
Wenn man jetzt aber www.domain.de/index.html aufruft wird hingegen wie vorhergesehen die index.htm angezeigt.
Was könnte der Grund sein,dass es bei der Eingabe von www.domain.de/ nicht klappt?
Wie könnte man den RewriteRule ändern,sodass er auch zu index.htm weiterleitet,wenn man www.domain.de/ eingibt ?

legato

.html ist möglicherweise in der Priorität der index Seiten vor .htm
Ist Konfigurationssache des Server. Weiß leider nicht, ob sich das auch in einer .htaccess beeinflussen lässt.
Außerdem ist optimieren für $browser doch immer böse... Hast du sowas spezielles drin das das sein muss?
Ansonsten an Standards halten, das ist auf Dauer das beste. Sorry, das musste ich jetzt einfach schreiben.


http://www.jendryschik.de/wsdev/einfuehrung/\" rel=\"external nofollow\">XHTML | http://www.css4you.de\" rel=\"external nofollow\">CSS | http://www.css4you.de/wslayout1/\" rel=\"external nofollow\">Tabellenloses Design | http://tut.php-q.net/\" rel=\"external nofollow\">PHP



dens

Die ursprüngliche Version der Webseite funktionierte ohne Probleme mit Mozilla Firefox und Opera.
Beim Internet Explorer bestand hingegen das Problem,dass aus welchen Gründen auch immer die rechte Navigationleiste nach unten verschoben wurde.
Über die rechte Navigationsleiste sind die wichtigsten Funktionen der Webseite erreichbar,daher muss sie beim Aufruf der Startseite auch sichtbar sein.(beim Internet Explorer musste man bis ans Seitenende runterscrollen bis sie sichtbar war)
Es reichte leider nicht aus,nur einen extra Stylesheet für den Internet Explorer anzulegen,ich musste auch Veränderungen am Quellcode vornehmen,damit die rechte Navigationsleiste auch an der richtigen Stelle angezeigt wird.
Die für den Internet Explorer optimierten Dateien haben die Dateiendung .htm.
Die Dateien,die für Firefox,Opera und alle andere Browser verwendet werden haben die Dateiendung .html.
Es stört mich auch etwas,dass ich soviel verändern musste,damit es im IE richtig angezeigt wird.
Leider benutzt aber die Mehrheit der Zielgruppe meiner Webseite den Internet Explorer.
Daher kann man ihn leider nicht einfach so ignorieren.
 

jacob374

Dear i have tha same q that... How could you change the RewriteRule, so he passes on to index.htm if you www.domain.de/ enters?
http://www.prep4sure.com/CompTIA-Security-plus-certification.html\" rel=\"external nofollow\">Security plus CompTIA 220-901 exam JK0-017 LX0-103 SK0-004 study guide testking dumps

all your base are belong to us / Discord