2017-06-29 5 views
1

Ich versuche, mobile Benutzer über .htaccess zu erkennen und einen? Mobile = 1 Parameter an die URL für sie anzuhängen. Ich habe verschiedene Dinge ausprobiert, aber das ist es, was WordPress nicht kaputt macht. Ich kann es jedoch nicht auf Ziel-URLs mit Unterverzeichnissen ausrichten.Anfügen von URL-Parametern an WordPress-Permalink über .htaccess

Momentan funktioniert es mit domain.com/?mobile. Jedoch funktioniert domain.com/2017/01/01/link/?mobile=1 nicht.

Ich habe versucht, das folgende (unter einer Vielzahl von anderen Dingen) und natürlich hat es nicht funktioniert. Ich weiß, dass ich der Arbeitsversion näher gekommen bin, aber ich habe sie leider nicht als separate Datei gespeichert.

RewriteCond %{QUERY_STRING} !(^|&)mobile=1(&|$) [NC] 
RewriteRule ^/?$ /$0/mobile [L,NC,R] 

Wer möchte mich in die richtige Richtung zeigen?

Bearbeiten: Hier ist die gesamte. Htaccess. Dies ist innerhalb des Standard-WordPress .htaccess, nach den Standardregeln.

RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|iphone|ipod|#opera mobile|palmos|webos" [NC] 
RewriteCond %{HTTP_USER_AGENT} "acs|alav|alca|amoi|audi|aste|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "dang|doco|eric|hipt|inno|ipaq|java|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|opwv" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "palm|pana|pant|pdxg|phil|play|pluc|port|prox|qtek|qwap|sage|sams|sany" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|w3cs|wap-|wapa|wapi" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "wapp|wapr|webc|winw|winw|xda|xda-" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "up.browser|up.link|windowssce|iemobile|mini|mmp" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "symbian|midp|wap|phone|pocket|mobile|pda|psp" [NC] 
RewriteCond %{QUERY_STRING} !(^|&)mobile=1(&|$) [NC] 
RewriteRule ^(.*)?$ %{REQUEST_URI}?mobile=1 [QSA,R] 
+1

Wie sind Sie "_detecting_ mobile users"? – MrWhite

+0

Ich habe das OP aktualisiert. Die Erkennung mobiler Nutzer funktioniert jedoch einwandfrei. Sie werden über Benutzeragenten erkannt. – jdaio

Antwort

0

Ok, ich habe es. Es stellt sich heraus, dass es nur in der falschen Reihenfolge war und ich hätte das zuerst verarbeiten sollen. Hier ist das letzte .htaccess:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|iphone|ipod|#opera mobile|palmos|webos" [NC] 
RewriteCond %{HTTP_USER_AGENT} "acs|alav|alca|amoi|audi|aste|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "dang|doco|eric|hipt|inno|ipaq|java|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|opwv" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "palm|pana|pant|pdxg|phil|play|pluc|port|prox|qtek|qwap|sage|sams|sany" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|w3cs|wap-|wapa|wapi" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "wapp|wapr|webc|winw|winw|xda|xda-" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "up.browser|up.link|windowssce|iemobile|mini|mmp" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "symbian|midp|wap|phone|pocket|mobile|pda|psp" [NC] 
RewriteCond %{QUERY_STRING} !(^|&)mobile=1(&|$) [NC] 
RewriteRule ^(.*)?$ %{REQUEST_URI}?mobile=1 [L,QSA,R] 

RewriteRule ^index\.php$ - [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

</IfModule> 
# END WordPress