Xサーバでの .htaccessの設定です。


suPHP_ConfigPath /home/xxxxx/xxxxx.com/xserver_php/
RewriteEngine on
RewriteCond %{HTTP_HOST} ^xxxxx.com
RewriteRule (.*) http://www.xxxxx.com/$1 [R=301,L]
Options FollowSymLinks
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://www.xxxxx.com/$1 [R=301,L]
AddHandler fcgid-script .php .phps
FCGIWrapper "/home/xxxxx/xxxxx.com/xserver_php/php-cgi" .php
FCGIWrapper "/home/xxxxx/xxxxx.com/xserver_php/php-cgi" .phps

この場合の、Options FollowSymLinks の意味を教えて下さい。
よろしくお願い致します。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2017/12/29 19:49:41
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:a-kuma3 No.1

回答回数4973ベストアンサー獲得回数2154

ポイント200pt

Apache で公開するときは、あるディレクトリから下の方がアクセスできるようになっていて、それよりも上はアクセスができない、というのが基本になります。
URL でも、相対パス指定ができますが、指定したディレクトリよりも上がアクセスできないようになってます。

「シンボリックリンク」は、あるファイルやディレクトリを指す別名です。
別の階層にあるディレクトリが、あたかもここにあるディレクトリのように見せることができます。

例えば、/usr/local/httpd/htdocs が DocumentRoot だとして、/usr/local/httpd/htdocs/bin が /usr/bin を指すようなシンボリックリンクを作ることができます。
bin ディレクトリは、公開している htdocs の下のディレクトリなので、アクセス可能に見えますが、実体は /usr/bin と htdocs を上にたどらなければアクセスできない場所なので、http://example.com/bin はアクセスができない、というのがデフォルトの動作です。

これをアクセスできるように許可するのが Options ディレクティブの FollowSymLinks です。
https://httpd.apache.org/docs/2.4/ja/mod/core.html#Options

id:worldtravel

いつもありがとうございます。
意味はわかりました。

このサーバは私の知り合いのサイトが入っており、
htmlで書かれた10ページ程度と
お問い合わせフォーム(perlのCGI)だけとなっております。

そこに、phpである物を作って設置したのですが、
この1行「Options FollowSymLinks」があるとphpが動作しないので、
やむを得ず、コメントアウトしました。

とりあえず、今のところ問題なさそうですので、
しばらく様子を見てみます。

ありがとうございました。

2017/12/29 19:49:09

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません