• ベストアンサー

.htaccessの使い方

すいません、Apache1.3.33で自宅サーバを作り、 .htaccessを利用しようとしたところ、 .htaccessが機能してくれません。 Apacheの方で何か設定をしないと使えないんでしょうか? また、その場合、何処にどのような設定を施さないといけないんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • maro
  • ベストアンサー率47% (95/199)
回答No.5

そのサーバーをどういう目的で運用するかによって、用途は変わってくるかと思うのですが・・・ >DocumentRoot・・・サーバ管理者の個人用公開フォルダ。 通常はそのサイトの一番上のディレクトリのことですよね。たとえば、 http://www.○○○.co.jp/ の"/"のところのことです。ブラウザのアドレス欄に「http://www.○○○.co.jp/」って入力したときに表示されるディレクトリで、サーバー上の実際のどのディレクトリを表示させるかということを示します。 仮にサーバー上の"/usr/local/www"というディレクトリをDocumentRootにしたのであれば、"/usr/local/www/index.html"が"http://www.○○○.co.jp/index.html"になるわけです。 管理者なのか一般ユーザーなのかはここでは関係ありません。 >UserDir・・・サーバ管理者が複数のユーザに提供しているユーザ用公開フォルダ。 通常は、"/home/***/public_html"を、"http://www.○○○.co.jp/~***/"のように見せるために使います。ユーザーの個人ディレクトリをWebで公開するために使います。

kuwabara0
質問者

お礼

ありがとうございました。 大変参考になりました。

その他の回答 (4)

  • maro
  • ベストアンサー率47% (95/199)
回答No.4

DocumentRoot ディレクティブ このディレクティブは、httpd がファイルを提供するディレクトリを設定します。 http://httpd.apache.org/docs/mod/core.html#documentroot httpd.confにも書いてありますよね。 # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. UserDir ディレクティブ UserDir ディレクティブは、 ユーザのドキュメントに対する要求があった際に使用する、 ユーザのホームディレクトリの中の実際のディレクトリの名前を指定します。 http://httpd.apache.org/docs/mod/mod_userdir.html#userdir httpd.confにも、ちゃんと説明が書いてあります。 # UserDir: The name of the directory which is appended onto a user's home # directory if a ~user request is received.

kuwabara0
質問者

補足

maroさん、レスありがとうございます。 DocumentRoot・・・サーバ管理者の個人用公開フォルダ。 UserDir・・・サーバ管理者が複数のユーザに提供しているユーザ用公開フォルダ。 この様な感じでしょうか?

  • maro
  • ベストアンサー率47% (95/199)
回答No.3

>"DocumentRoot"と"UserDir"と2つあるんですが、どちらの事ですか? 「どちらのことですか」、というよりも、どこのディレクトリに対してAllowOverrideを有効にしたいのか、ということだと思いますよ。 たとえば、"/foo/bar"に対してAllowOverrideを有効にしたいなら、 <Directory /foo/bar> AllowOverride All </Directory> としてやればいいわけです。

kuwabara0
質問者

補足

ありがとうございます。 是非試させていただきます。 ちなみに、"DocumentRoot"と"UserDir"とは何が違うんですか? どちらも、公開フォルダですよね?

  • maro
  • ベストアンサー率47% (95/199)
回答No.2

httpd.confのAllowOverride ディレクティブの設定だと思います。 AllowOverride None になっているのではないでしょうか?

参考URL:
http://httpd.apache.org/docs/mod/core.html#allowoverride
kuwabara0
質問者

補足

maroさん、レスありがとうございます。 httpd.confでAllowOverrideをみて見たんですが、 "DocumentRoot"と"UserDir"と2つあるんですが、 どちらの事ですか?

  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.1

参考URLを参照して設定してみましたらうまくいきました。 一度試してみてください。

参考URL:
http://www.shtml.jp/htaccess/
kuwabara0
質問者

補足

ありがとうございます。 .htaccessについて詳しく書いてあるさいとですね。 でも、今私が知りたいのは、.htaccessを有効にする為の、 apacheのhttpd.confの設定についてなんですが、 何処に記載されているんでしょうか? 一通り拝見したんですが、見当たりませんでした。