teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

質問内容の追記

2018/06/07 13:29

投稿

yopppppy
yopppppy

スコア10

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」の記載をしましたが効上記と同じエラーとなります。ルートディレクトリに設置してあるhtaccessに追加した部分をコメントアウトするとCGIプログラムが正常に動きます。
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」では不十分なのでしょうか。