質問編集履歴

1

質問内容の追記

2018/06/07 13:29

投稿

yopppppy
yopppppy

スコア10

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- ```htaccess
7
+ ```ルートディレクトリのhtaccess
8
8
 
9
9
  RewriteEngine On
10
10
 
@@ -36,6 +36,40 @@
36
36
 
37
37
 
38
38
 
39
- /cgi-bin/hoge/配下にhtaccessを設置し「Options FollowSymLinks」の記載をしましたが効上記と同じエラーとなります。ルートディレクトリに設置してあるhtaccessに追加した部分をコメントアウトするとCGIプログラムが正常に動きます。
39
+ エラーの内容を調べたところ、「Options FollowSymLinks」の記載が必要との事がわかったので、/cgi-bin/hoge/配下にhtaccessを設置し「Options FollowSymLinks」の記載をしましたがいていいのようで上記と同じエラーとなります。ルートディレクトリに設置してあるhtaccessに追加した部分をコメントアウトするとCGIプログラムが正常に動きます。
40
40
 
41
+ Apacheの設定ファイルは権限の関係上現在は見ることが出来ない状態なのですが、推測するにはおそらくcgi-binのディレクトリでhtaccessが効かない設定になっているのでは?と思います。
42
+
43
+ そこでルートディレクトリのhtaccessに「Options FollowSymLinks」の記載をしました。
44
+
45
+
46
+
47
+ ```ルートディレクトリのhtaccess
48
+
49
+ Options +FollowSymLinks
50
+
41
- 何が原因がわかりますでしょうか。
51
+ RewriteEngine On
52
+
53
+ RewriteCond %{REQUEST_URI} ^/$ [OR]
54
+
55
+ RewriteCond %{REQUEST_URI} ^/index.html
56
+
57
+ RewriteCond %{HTTP_COOKIE} !viewmode=pc
58
+
59
+ RewriteCond %{HTTP_USER_AGENT} "iPhone|iPod|Android" [NC]
60
+
61
+ RewriteCond %{HTTP_USER_AGENT} !iPad [NC]
62
+
63
+ RewriteRule ^(.*)$ /sp/$1 [QSA,PT,L,NS
64
+
65
+ ```
66
+
67
+ このように記載をしましたが、変わらずエラーとなります。
68
+
69
+ ここで分からないことは
70
+
71
+ 1.ルートディレクトリの「RewriteEngine On」以下の記載をコメントアウトすると/cgi-bin/配下のCGIが正常に動く
72
+
73
+ 2.「RewriteEngine On」以下の記載を有効にすると上記のエラーが出る。
74
+
75
+ →という事は「RewriteEngine On」以下の記載が/cgi-bin/配下にも作用している事になるが、「Options +FollowSymLinks」は作用しないという点です。これはどういう事なのでしょうか。そもそも上記のエラーの対策が「Options +FollowSymLinks」では不十分なのでしょうか。