Ich denke, was ich versuche zu tun ist komplexer als ich ursprünglich dachte. Der erste Teil ist einfach: Ich verwende .htaccess, um mobile Browser auf die "mobile" Version einer Website in einer anderen Domain umzuleiten. Hier ist der Inhalt der .htaccess in der Wurzel des „nicht-mobile“ site:Probleme beim Umleiten von Datenverkehr von einer Domäne zu einer anderen, mit .htaccess in beiden Domänen
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} android.+mobile|iphone [NC]
RewriteRule ^(.*)$ http://m.domain.tld%{REQUEST_URI} [R]
Der zweite Teil eine gewisse Komplexität hinzufügt. Ich verwende .htaccess auf der mobilen Domäne, um die meisten Anfragen an die index.php im Stammverzeichnis umzuleiten. Hier ist der Inhalt der .htaccess in der Wurzel der mobilen Website:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*) index.php
Wenn eine Anforderung, die die nicht-mobile Website gesendet werden enthält nur den Domain-Namen, das alles funktioniert wie erwartet:
http://www.domain.tld
wird zu
http://m.domain.tld
ohne Problem umgeleitet.
Auch, wenn ein mobiler Browser lädt
http://m.domain.tld/abc
es wie erwartet funktioniert: index.php in der Wurzel der mobilen Domain geladen wird, und es analysiert die Anfrage-URL, und weist den Wert „abc“ zu einer Variablen.
jedoch Dinge brechen seltsam nach unten, wenn ich versuche zu
http://www.domain.tld/abc
in einem mobilen Browser zu navigieren. Daraus ergibt sich die nicht mobile Datei,
http://www.domain.tld/abc/index.php
in den Browser geladen wird, formatiert von CSS aus dem mobilen Domain. Die anfängliche Umleitung, die ich ausführen möchte, wird nicht ausgeführt, aber anscheinend werden nachfolgende Anforderungen, wie die für die CSS-Datei , umgeleitet. Beide Domänen sind Vhosts auf demselben Server.
Kann jemand durch, was ich versuche, und eine Lösung anbieten?
Danke, Dave
großartig Sie haben Ihr Problem gelöst! Bitte überprüfen Sie später erneut und markieren Sie Ihre Antwort als akzeptiert, so dass jeder weiß, dass Ihre Frage beantwortet wurde. Aufgrund der Richtlinien für Websites müssen Sie möglicherweise bis zu 48 Stunden warten, bevor Sie dazu in der Lage sind. – Marijn