.htaccess Redirect - nur m. vorne anhängen


Tommy57

Erfahrenes Mitglied
Hallo, ich habe sehr viele URLs (mehrsprachig + mehrere Entwickler). Nun möchte ich für alle URLs eine mobile Version zur Verfügung stellen, in dem ich ein "m." vorne als subdomain setze.

Ich habe dafür folgenden Code gefunden:

Code:
RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^ http://m.domain.com%{REQUEST_URI} [R,L]

Ich würde diesen Code nun gerne so anpassen, dass für ALLE URLs "m." nur angehangen wird, wenn es noch nicht vorne dran steht.

Gruß, Tommy
 

Tommy57

Erfahrenes Mitglied
Danke SpiceLab für die schnelle Antwort.

Kann ich das dann kombinieren?

Ich kenn mich mit .htaccess nicht aus. Ich erzwinge für einige URLs das www. Kann ich alle URLs so auflisten:

Code:
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^domain.de [NC]
RewriteRule ^(.*)$ http://www.domain.de/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^domain.ru [NC]
RewriteRule ^(.*)$ http://www.domain.ru/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^domain.it [NC]
RewriteRule ^(.*)$ http://www.domain.it/$1 [L,R=301]
...

RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC]
RewriteCond %{HTTP_HOST} !^m\.domain\.com$ [NC]
RewriteRule ^ http://m.domain.com%{REQUEST_URI} [R,L]
RewriteCond %{HTTP_HOST} !^m\.domain\.de$ [NC]
RewriteRule ^ http://m.domain.de%{REQUEST_URI} [R,L]
RewriteCond %{HTTP_HOST} !^m\.domain\.ru$ [NC]
RewriteRule ^ http://m.domain.ru%{REQUEST_URI} [R,L]
RewriteCond %{HTTP_HOST} !^m\.domain\.it$ [NC]
RewriteRule ^ http://m.domain.it%{REQUEST_URI} [R,L]
...


Gruß, Tommy
 

SpiceLab

ZENmechanic
Danke SpiceLab für die schnelle Antwort.

Kann ich das dann kombinieren?

Ich kenn mich mit .htaccess nicht aus. Ich erzwinge für einige URLs das www. Kann ich alle URLs so auflisten:

Code:
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^domain.de [NC]
RewriteRule ^(.*)$ http://www.domain.de/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^domain.ru [NC]
RewriteRule ^(.*)$ http://www.domain.ru/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^domain.it [NC]
RewriteRule ^(.*)$ http://www.domain.it/$1 [L,R=301]
...

RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC]
RewriteCond %{HTTP_HOST} !^m\.domain\.com$ [NC]
RewriteRule ^ http://m.domain.com%{REQUEST_URI} [R,L]
RewriteCond %{HTTP_HOST} !^m\.domain\.de$ [NC]
RewriteRule ^ http://m.domain.de%{REQUEST_URI} [R,L]
RewriteCond %{HTTP_HOST} !^m\.domain\.ru$ [NC]
RewriteRule ^ http://m.domain.ru%{REQUEST_URI} [R,L]
RewriteCond %{HTTP_HOST} !^m\.domain\.it$ [NC]
RewriteRule ^ http://m.domain.it%{REQUEST_URI} [R,L]
...
Bin leider auch nicht der diplomierte .htaccess-Guru :( Für den Hausgebrauch aber alle mal gut :D

Und mit multiplen Country-Code-Top-Level-Domains (ccTLD) musste ich mich bislang auch noch nicht 'rumschlagen :cool:

Aber, wenn ich mir das so anschaue, sagt mir mein grundlegendes Verständnis von .htaccess und mod_rewrite, dass nicht jede einzelne ccTLD (.com/.de/...) beim Namen genannt werden muss, um RewriteCond -> RewriteRule auf sie anwenden zu können. Das sollte eigentlich ein regulärer Ausdruck erledigen können.

Die 17 gezeigten Zeilen würden somit auf 5 schrumpfen, wenn ich es richtig überblicke, und mich nicht verzählt habe :D

Dieser "universelle" Code müsste dann auch nicht mehr gewartet werden, wenn zukünftig weitere ccTLDs eingerichtet werden.

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

Tommy57

Erfahrenes Mitglied
Ja, ich weiß. Da gibt es auch ein paar vordefinierte Werte wie {HTTP_HOST} und so. Ich kenn die nur leider nicht.

Wäre natürlich optimal, wenn man sagen könnte, wenn kein "www.", "dev." oder "m." vorne steht, soll er "www." vorsetzen und wenn kein "m." vorne dran steht und es sich um ein Handy handelt, soll er ein "m." vorne dran setzen.
 

sheel

I love Asm
Hi

nicht von mir erstellt, hab das irgendwo einmal gefunden...
Code:
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]
(gehört zusammen, siehe das "OR")
 

SpiceLab

ZENmechanic
Also, www. gilt erstmal per default für alle Besucher, die nicht mit mobilen Geräten im Netz unterwegs sind.

Auch hier, wie schon vorhin bei m. , per Negation definiert, dafür aber in kürzerer Fassung, um den ganzen ccTLDs aus dem Weg zu gehen :D
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Im Anschluß folgt die Umleitung zur mobilen Version:
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^m\. [NC]
RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC]
RewriteRule ^(.*)$ http://m.%{HTTP_HOST}/$1 [R=301,L]
Mit dev. weiss ich hier gerade nichts anzufangen :(

Aber weil's für die Entwickler gedacht ist, vllt. eher sie über einen (PHP)Login dorthin schicken? :cool:

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

SpiceLab

ZENmechanic
Hi

nicht von mir, hab das irgendwo einmal gefunden...
Code:
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]
(gehört zusammen, siehe das "OR")
Könnte von hier stammen: http://www.kaempf-nk.de/webseitengestaltung/blog/mobile-webseiten-umleitung.html :cool::D
 

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.