回答編集履歴
2
回答修正
answer
CHANGED
@@ -9,8 +9,10 @@
|
|
9
9
|
RewriteRule ^bar/ /foo/bar/sp/ [R,L]
|
10
10
|
```
|
11
11
|
|
12
|
-
但し、上記だと/foo/bar/
|
12
|
+
但し、上記だと/foo/bar/配下へのリクエストはすべて/foo/bar/sp/へリダイレクトするためリダイレクトループします。(/foo/bar/sp/へのリクエストに対してもマッチするので)
|
13
13
|
「/foo/bar/sp/以外」の条件を追加し、/foo/bar/以降のpathをリダイレクト先に追加します。
|
14
|
+
(※/foo/bar/sp/にはindex.htmlファイルのみ存在する場合は
|
15
|
+
`RewriteRule ^bar/ /foo/bar/sp/ [R,L]`で構いません。)
|
14
16
|
|
15
17
|
```htaccess
|
16
18
|
#/foo/.htaccess
|
@@ -19,4 +21,6 @@
|
|
19
21
|
RewriteCond %{HTTP_USER_AGENT} (iPhone|Android.*Mobile|Windows.*Phone) [NC]
|
20
22
|
RewriteCond %{QUERY_STRING} !mode=pc
|
21
23
|
RewriteRule ^bar/(.*) /foo/bar/sp/$1 [R,L]
|
24
|
+
#/foo/bar/sp/配下にはindex.htmlファイルのみ存在する場合は以下でも可です。
|
25
|
+
#RewriteRule ^bar/ /foo/bar/sp/ [R,L]
|
22
26
|
```
|
1
回答修正
answer
CHANGED
@@ -7,4 +7,16 @@
|
|
7
7
|
RewriteCond %{HTTP_USER_AGENT} (iPhone|Android.*Mobile|Windows.*Phone) [NC]
|
8
8
|
RewriteCond %{QUERY_STRING} !mode=pc
|
9
9
|
RewriteRule ^bar/ /foo/bar/sp/ [R,L]
|
10
|
+
```
|
11
|
+
|
12
|
+
但し、上記だと/foo/bar/は以下へのリクエストはすべて/foo/bar/sp/へリダイレクトするためリダイレクトループします。
|
13
|
+
「/foo/bar/sp/以外」の条件を追加し、/foo/bar/以降のpathをリダイレクト先に追加します。
|
14
|
+
|
15
|
+
```htaccess
|
16
|
+
#/foo/.htaccess
|
17
|
+
RewriteEngine On
|
18
|
+
RewriteCond %{REQUEST_URI} !/foo/bar/sp/ [NC]
|
19
|
+
RewriteCond %{HTTP_USER_AGENT} (iPhone|Android.*Mobile|Windows.*Phone) [NC]
|
20
|
+
RewriteCond %{QUERY_STRING} !mode=pc
|
21
|
+
RewriteRule ^bar/(.*) /foo/bar/sp/$1 [R,L]
|
10
22
|
```
|