# .htaccess Redirect - nur m. vorne anhängen



## Tommy57 (11. Februar 2017)

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:


```
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


----------



## SpiceLab (11. Februar 2017)

Tommy57 hat gesagt.:


> 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.


Indem mittels dem vorangestellten Ausrufezeichen eine negierte Condition definiert wird:

```
RewriteCond %{HTTP_HOST} !^m\.domain\.com$ [NC]
```


----------



## Tommy57 (11. Februar 2017)

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:


```
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 (11. Februar 2017)

Tommy57 hat gesagt.:


> Danke SpiceLab für die schnelle Antwort.
> 
> Kann ich das dann kombinieren?
> 
> ...


Bin leider auch nicht der diplomierte .htaccess-Guru  Für den Hausgebrauch aber alle mal gut 

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

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 

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

[edit]Tipp-Ex[/edit]​


----------



## Tommy57 (11. Februar 2017)

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 (11. Februar 2017)

Hi

nicht von mir erstellt, hab das irgendwo einmal gefunden...

```
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 (11. Februar 2017)

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 

```
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
```
Im Anschluß folgt die Umleitung zur mobilen Version:

```
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? 

[edit]Tipp-Ex[/edit]​


----------



## SpiceLab (11. Februar 2017)

sheel hat gesagt.:


> Hi
> 
> nicht von mir, hab das irgendwo einmal gefunden...
> 
> ...


Könnte von hier stammen: http://www.kaempf-nk.de/webseitengestaltung/blog/mobile-webseiten-umleitung.html


----------



## sheel (11. Februar 2017)

Hm, nach Gefühl eher nicht. Ist wohl öfters kopiert worden


----------



## SpiceLab (11. Februar 2017)

sheel hat gesagt.:


> Hm, nach Gefühl eher nicht. Ist wohl öfters kopiert worden


Wie so üblich - und man hier und da bei der Vielzahl von Duplikaten nicht mehr einschätzen kann, wer der Autor, und wer der Kopierer ist...


----------



## Tommy57 (11. Februar 2017)

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 (11. Februar 2017)

Müsste es nicht so heißen?


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


----------



## SpiceLab (11. Februar 2017)

Tommy57 hat gesagt.:


> Müsste es nicht so heißen?
> 
> ```
> RewriteCond %{HTTP_HOST} !^www|dev|m\. [NC]
> ```


Müsste nicht  Aber könnte 

Weil ich nicht täglich damit in Berührung komme, hatte ich das so nicht mehr auf dem Schirm


----------



## Tommy57 (11. Februar 2017)

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 (11. Februar 2017)

Tommy57 hat gesagt.:


> 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?! 

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* *

[edit]Tipp-Ex[/edit]​


----------



## Tommy57 (11. Februar 2017)

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



```
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


----------



## SpiceLab (11. Februar 2017)

Tommy57 hat gesagt.:


> Kann man das so machen?


Probier's halt aus. Danach bist Du schlauer.

Nur, wofür dient in Zeile 4 und 10 die Klammer um dev und m?


----------



## Tommy57 (11. Februar 2017)

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 (11. Februar 2017)

Tommy57 hat gesagt.:


> Er macht aus www. -> m.www.


Das sollte er aber besser nicht.


Tommy57 hat gesagt.:


> 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.

```
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.


----------



## Tommy57 (11. Februar 2017)

> 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.


----------



## SpiceLab (11. Februar 2017)

Tommy57 hat gesagt.:


> Das Problem liegt wohl an HTTP_HOST.


Nicht vermutlich, sondern zweifelsfrei,


SpiceLab hat gesagt.:


> , da *HTTP_HOST *das *www.* im Gepäck hat.


... hatte ich kurz vor Deiner Antwort nachgereicht. Deinem Zitat zufolge aber einen Ticken zu spät.


----------



## SpiceLab (11. Februar 2017)

Tommy57 hat gesagt.:


> Hab aber keine Alternative gefunden


Tatsächlich?

Entweder nicht richtig, oder überhaupt nicht nach ihr gesucht.

```
RewriteRule ^(.*)$ http://m\.domain\.de%{REQUEST_URI} [R=301,L]
```


----------



## Tommy57 (11. Februar 2017)

> RewriteRule ^(.*)$ http://m\.domain\.de%{REQUEST_URI} [R=301,L]



Das hilft mir nur bedingt weiter. Ich habe rund 40 Domains. Muss nur das www entfernen. -.-


----------



## SpiceLab (11. Februar 2017)

Tommy57 hat gesagt.:


> Das hilft mir nur bedingt weiter. Ich habe rund 40 Domains. Muss nur das www entfernen. -.-


Dann mach' nur mal.

Ich für meinen Teil bin raus, denn wie ich in meinem zweiten Post kurz erläutert hatte, besitze ich 0-Praxiserfahrung,  auf einem Server multiple ccTLDs + 4 Subdomains (www|m|dev|m.dev) mit ihren jeweiligen RewriteConds/-Rules zu organisieren/verwalten 

Ebenso hatte ich in Post #4 die Möglichkeit erwähnt, die ganzen ccTLDs durch einen einzigen regulären Ausdruck (RegEx) zu ersetzen.

Nur, wer nicht (aufmerksam mitlesen) will, der hat schon! 

[edit]Tipp-Ex[/edit]​


----------



## Tommy57 (11. Februar 2017)

Danke aber auf jeden Fall. Du hast mir da schon sehr weiter geholfen. Ich muss jetzt nur noch eine Möglichkeit finden, dass www im HTTP_HOST zu entfernen. Ansonsten muss ich das machen, wie du das oben erwähnt hast. Sind doch nur 10 Domains, weil 3 Subdomains wegfallen, bzw nur 1 Subdomain betroffen ist.


----------



## Tommy57 (11. Februar 2017)

> Ebenso hatte ich in Post #4 die Möglichkeit erwähnt, die ganzen ccTLDs durch einen einzigen regulären Ausdruck (RegEx) zu ersetzen.
> 
> Nur, wer nicht (aufmerksam mitlesen) will, der hat schon!



Ich habe alle Beiträge sehr gründlich gelesen und habe mir alles sehr genau angeguckt und auch habe ich mich noch anderweitig schlau gemacht. Im Bezug auf die Regulären Ausdrücke hatte ich mich schon in Post #20 geäußert. Mir ist keine Technik bekannt das vorangestellte www. aus der HTTP_HOST zu entfernen, und die Mobile Detection scheint meine Übergabe in %1 zu überschreiben.

Ich habe ja wie gesagt ne Lösung, mir wäre nur ne Variante lieber, wo ich separat nur auf die Domain und Top-Level-Domain zugreifen kann, wenn die Domain mit www. startet.


----------



## SpiceLab (11. Februar 2017)

Tommy57 hat gesagt.:


> Im Bezug auf die Regulären Ausdrücke hatte ich mich schon in Post #20 geäußert.


Davon weiß ich nichts. Dort hast Du sie nicht mal namentlich "nebenbei erwähnt":


Tommy57 hat gesagt.:


> 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.





Tommy57 hat gesagt.:


> Mir ist keine Technik bekannt das vorangestellte www. aus der HTTP_HOST zu entfernen


Die gibt es auch nicht. Aus diesem Grund habe ich zuletzt auch *REQUEST_URI* empfohlen, was Dir aber wegen der 40 ccTLDs nicht schmecken will.

Und genau darauf zielte von Beginn an mein Ratschlag ab, *.de* / *.com* / usw. durch einen regulären Ausdruck zu ersetzen, mit dem sich all ihre individuellen/spezifischen Umleitungen auf einen gemeinsamen Nenner bringen lassen, und eine universelle Umleitung ermöglicht, die zukünftig nicht mehr zu pflegen ist, wenn weitere ccTLDs hinzukommen, oder welche aus dem Pool verschwinden.

[edit]Tipp-Ex[/edit]​


----------



## Tommy57 (11. Februar 2017)

> Und genau darauf zielte von Beginn an mein Ratschlag ab, *.de* / *.com* / usw. durch einen regulären Ausdruck zu ersetzen, mit dem sich all ihre individuellen/spezifischen Umleitungen auf einen gemeinsamen Nenner bringen lassen


Darauf hat sich mein %1 bezogen. Wenn ich im regulären Ausdruck einen Teil-Ausdruck umklammer, kann ich mit %1 usw. drauf zugreifen. Das wird nur von dem regulären Ausdruck von Sheel überschrieben. Ich schau mir das aber morgrn noch mal in Ruhe an. Vllt kann ich ja auch anders auf den Wert zugreifen.


----------

