.htaccess Redirect - nur m. vorne anhängen

Tommy57

Erfahrenes Mitglied
okay, wow. Danke erst mal für die extreme Browser Erkennung. Das lässt sich wohl nicht auf Herz und Niere testen und muss einfach so verwendet werden. ^^

Und danke für den Code. Ich teste das gleich mal mit 302er Weiterleitungen. Mal sehen, wie weit ich komme.

Danke noch mal^^
 

Tommy57

Erfahrenes Mitglied
Müsste es nicht so heißen?

Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www|dev|m\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
 

Tommy57

Erfahrenes Mitglied
Ich bräuchte nur noch eine Sache.

Wenn in der URL dev. steht, soll er im Falle eines mobilen Gerätes auf die m.dev. weiterleiten. Ne Idee?
 

SpiceLab

ZENmechanic
Ich bräuchte nur noch eine Sache.

Wenn in der URL dev. steht, soll er im Falle eines mobilen Gerätes auf die m.dev. weiterleiten. Ne Idee?
Die hat Dir doch @sheel eben schon frei Haus geliefert?! o_O

Und muß lediglich für diese Variante der Umleitung mit der entsprechenden HTTP_HOST-Condition verknüpft werden:

Erfolgt die Anfrage auf dev. von einem der aufgelisteten HTTP_USER_AGENT, dann leite um auf m.dev.

Fertitsch :cool:

[edit]Tipp-Ex[/edit]
 
Zuletzt bearbeitet:

Tommy57

Erfahrenes Mitglied
Kann man das so machen? Hab jetzt noch die dritte Zeile von mir, die ich gefunden hatte mit nem OR eingebaut:


Code:
RewriteCond %{HTTP_HOST} !^(www|dev|m)\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=302,L]

RewriteCond %{HTTP_HOST} ^(dev)\. [NC]
RewriteCond %{HTTP_USER_AGENT} (android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge\ |maemo|midp|mmp|mobile.+firefox|netfront|opera\ m(ob|in)i|palm(\ os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows\ ce|xda|xiino [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a\ wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r\ |s\ )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1\ u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(\ i|ip)|hs\-c|ht(c(\-|\ |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(\ |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(\ |\/)|klon|kpt\ |kwc\-|kyo(c|k)|le(no|xi)|lg(\ g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-|\ |o|v)|zz)|mt(50|p1|v\ )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v\ )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|\ )|webc|whit|wi(g\ |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-) [NC,OR]
RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC]
RewriteRule ^(.*)$ http://m.dev.%{HTTP_HOST}/$1 [R=302,L]

RewriteCond %{HTTP_HOST} !^(m)\. [NC]
RewriteCond %{HTTP_USER_AGENT} (android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge\ |maemo|midp|mmp|mobile.+firefox|netfront|opera\ m(ob|in)i|palm(\ os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows\ ce|xda|xiino [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a\ wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r\ |s\ )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1\ u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(\ i|ip)|hs\-c|ht(c(\-|\ |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(\ |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(\ |\/)|klon|kpt\ |kwc\-|kyo(c|k)|le(no|xi)|lg(\ g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-|\ |o|v)|zz)|mt(50|p1|v\ )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v\ )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|\ )|webc|whit|wi(g\ |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-) [NC,OR]
RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC]
RewriteRule ^(.*)$ http://m.%{HTTP_HOST}/$1 [R=302,L]

EDIT: Klammern bei den Subdomains ergänzt
 

Tommy57

Erfahrenes Mitglied
Die Klammern habe ich nur so dahin gemacht. Da mach ich eventuell noch mehrere Subdomains rein.

Es funktioniert nun alles soweit. Nur ein Problem habe ich:

Er macht aus www. -> m.www. Kann ich dass www da irgendwie entfernen?
 

SpiceLab

ZENmechanic
Er macht aus www. -> m.www.
Das sollte er aber besser nicht.
Kann ich dass www da irgendwie entfernen?
Im Nachhinein ganz schlecht - deshalb erst garnicht so weit kommen lassen.

Und wenn einem der Grund für das logische Fehlverhalten ersichtlich ist, sollte es keine Hürde darstellen, das zu korrigieren.
Code:
RewriteCond %{HTTP_HOST} !^(m)\. [NC]
# ...
RewriteRule ^(.*)$ http://m.%{HTTP_HOST}/$1 [R=302,L]
Leitet schlichtweg die mobilen User von www.domain.de/foobar nach m.www.domain.de/foobar um, da HTTP_HOST das www. im Gepäck hat.
 
Zuletzt bearbeitet:

Tommy57

Erfahrenes Mitglied
RewriteRule ^(.*)$ http://m.%{HTTP_HOST}/$1 [R=302,L]

Leitet schlichtweg die mobilen User von www.domain.de/foobar nach m.www.domain.de/foobar um.

Ja genau. Das soll er nicht. Bei der dev ist das okay. Da möchte ich das so haben. Aber bei der www. soll das nicht so sein. Das Problem liegt wohl an HTTP_HOST. Hab aber keine Alternative gefunden und mit %1 kann ich nicht arbeiten, weil die mobile Detection da schon was übergibt.
 

Neue Beiträge