2017-06-29 10 views
1

私はモバイルユーザーを.htaccess経由で検出し、URLに?mobile = 1パラメータを追加しようとしています。私は様々なことを試しましたが、これはWordPressを壊さないものです。しかし、サブディレクトリを持つURLをターゲットにすることはできません。WordPressにURLパラメータを追加する.htaccess経由で

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

現在、domain.com/?mobileで動作します。ただし、domain.com/2017/01/01/link/?mobile=1は機能しません。

私は以下のことを(他のさまざまなものの中でも)やってみましたが、もちろん動作しませんでした。残念ながら別バージョンのファイルとして保存することはできませんでした。

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

誰でも正しい方向を指し示したいですか?

編集:ここに全体の.htaccessがあります。これは、既定のルールの後、既定のWordPressの.htaccess内にあります。

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

"モバイルユーザーを_detecting_していますか?" – MrWhite

+0

私はOPを更新しました。モバイルユーザーの検出はうまく動作します。それらはユーザーエージェント経由で検出されます。 – jdaio

答えて

0

これでわかりました。それはちょうど間違った順序であったことが判明し、私はそれを最初に処理したはずです。最終的な.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 
関連する問題