私は使用しています:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/mobile
RewriteCond %{DOCUMENT_ROOT}/mobile%{REQUEST_URI} -d
RewriteRule ^(.*?)/?$ /mobile/$1/ [L]
RewriteCond %{HTTP_USER_AGENT} "android|iphone|ipod" [NC]
RewriteCond %{REQUEST_URI} !^/mobile
RewriteRule ^(.*)$ /mobile/$1 [L]
問題は、モバイルがリダイレクトされると、ルートからの画像がロードされないことです。サブディレクトリ (モバイル) を URL の例に追加する必要があるため、これを使用しています。
www.example.com/sub/file.php
www.example.com/mobile/sub/file.php
このコードは機能しますが、ルートの画像は表示されず、src へのパスも表示されず、htaccess ルールで /mobile/ が追加されていないことが示されます。RewriteCond %{REQUEST_FILENAME} !-f を conds の 2 行目に追加すると、2 番目の編集のようにルートの画像が読み込まれますが、すべての URL が存在するため、モバイル サブディレクトリにリダイレクトされることはありません。
RewriteCond %{REQUEST_URI} !^/mobile
RewriteCond %{DOCUMENT_ROOT}/mobile%{REQUEST_URI} -d
RewriteRule ^(.*?)/?$ /mobile/$1/ [L]
RewriteCond %{HTTP_USER_AGENT} "android|iphone|ipod" [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/mobile
RewriteRule ^(.*)$ /mobile/$1 [L]