質問編集履歴
1
質問内容の追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
あるWebサイトのルートディレクトリに設置してあるhtaccessに以下の記述を追加致しました。
|
2
2
|
|
3
3
|
|
4
|
-
```htaccess
|
4
|
+
```ルートディレクトリのhtaccess
|
5
5
|
RewriteEngine On
|
6
6
|
RewriteCond %{REQUEST_URI} ^/$ [OR]
|
7
7
|
RewriteCond %{REQUEST_URI} ^/index.html
|
@@ -17,5 +17,22 @@
|
|
17
17
|
|
18
18
|
【AH00670: Options FollowSymLinks and SymLinksIfOwnerMatch are both off, so the RewriteRule directive is also forbidden due to its similar ability to circumvent directory restrictions : /var/www/XXXX/home-ssl/public_html/cgi-bin/hoge/input_check_inquire.cgi, referer: https://XXXX/hoge/inquire/】
|
19
19
|
|
20
|
-
/cgi-bin/hoge/配下にhtaccessを設置し「Options FollowSymLinks」の記載をしましたが効
|
21
|
-
|
20
|
+
エラーの内容を調べたところ、「Options FollowSymLinks」の記載が必要との事がわかったので、/cgi-bin/hoge/配下にhtaccessを設置し「Options FollowSymLinks」の記載をしましたが、効いていないのようで上記と同じエラーとなります。ルートディレクトリに設置してあるhtaccessに追加した部分をコメントアウトするとCGIプログラムが正常に動きます。
|
21
|
+
Apacheの設定ファイルは権限の関係上現在は見ることが出来ない状態なのですが、推測するにはおそらくcgi-binのディレクトリでhtaccessが効かない設定になっているのでは?と思います。
|
22
|
+
そこでルートディレクトリのhtaccessに「Options FollowSymLinks」の記載をしました。
|
23
|
+
|
24
|
+
```ルートディレクトリのhtaccess
|
25
|
+
Options +FollowSymLinks
|
26
|
+
RewriteEngine On
|
27
|
+
RewriteCond %{REQUEST_URI} ^/$ [OR]
|
28
|
+
RewriteCond %{REQUEST_URI} ^/index.html
|
29
|
+
RewriteCond %{HTTP_COOKIE} !viewmode=pc
|
30
|
+
RewriteCond %{HTTP_USER_AGENT} "iPhone|iPod|Android" [NC]
|
31
|
+
RewriteCond %{HTTP_USER_AGENT} !iPad [NC]
|
32
|
+
RewriteRule ^(.*)$ /sp/$1 [QSA,PT,L,NS
|
33
|
+
```
|
34
|
+
このように記載をしましたが、変わらずエラーとなります。
|
35
|
+
ここで分からないことは
|
36
|
+
1.ルートディレクトリの「RewriteEngine On」以下の記載をコメントアウトすると/cgi-bin/配下のCGIが正常に動く
|
37
|
+
2.「RewriteEngine On」以下の記載を有効にすると上記のエラーが出る。
|
38
|
+
→という事は「RewriteEngine On」以下の記載が/cgi-bin/配下にも作用している事になるが、「Options +FollowSymLinks」は作用しないという点です。これはどういう事なのでしょうか。そもそも上記のエラーの対策が「Options +FollowSymLinks」では不十分なのでしょうか。
|