• ベストアンサー

.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の設定についてなんですが、 何処に記載されているんでしょうか? 一通り拝見したんですが、見当たりませんでした。

関連するQ&A

  • .htaccessの利用の可・不可について

    meta要素のhttp-equiv属性は、XHTML1.1では非推奨のため「.htaccess」で同様の設定が行えると聞いたのですが、.htaccessについて調べると、次のように載っていました。 「現在、最も多く利用されているサーバーソフトウェアがApache(アパッチ)である。」 ~ 「htaccessはApacheで使用される、ディレクトリ単位でWebサーバの動作を制御するために置かれるファイルのことである。」 ~ 「ただし、.htaccessでどのような設定が行えるかはウェブサーバーの管理者が編集する httpd.confで制限されているため、サーバーによっては許可されていない設定もある。」 といことは、 1.サーバー側でApacheというソフトウェアを使用している 2.サーバー側でhttp.confで許可している設定 .htaccessを利用するには、この2点を行っているサーバーでなければ利用できないということでしょうか?どのようなときに.htaccessを利用できる、あるいは利用できないのでしょうか? また、.htaccessが利用できない場合、非推奨であってもhttp-equiv属性などの非推奨のものを使わざるを得ないのでしょうか? 回答よろしくお願いします。

    • ベストアンサー
    • HTML
  • htaccessでユーザー認証が出来ない

    自宅サーバー構築にチャレンジしていますが、 .htaccessを利用してユーザー認証ができません。 状況は、 ・ブラウザには、500 Internal Server Errorが表示 ・Apach エラーログに AuthUserFile not allowed here となってしまいます。 Apache/1.3.12を使用しています。 .htaccessにOptions -Indexesのみ記述すると、ディレクトリツリーが表示されなくなりますが、ユーザー認証の記述を追加すると上記のエラーになってしまいます。 httpd.confの記述など、設定が必要なのでしょうか?

  • 「.htaccess」の利用について

    サーバーの管理者に「.htaccess」の利用が可能か問合わせたところ、 ================================================================ 上記お問い合わせの件、.htaccess自体の利用は可能ですが下記が 制限になります。 ■http側 AllowOverride AuthConfig Limit Options Options -Indexes SymLinksIfOwnerMatch IncludesNoExec ■http側 cgi-bin配下 AllowOverride None ================================================================ という回答が返ってきました。 自分で調べては見たものの、 この辺の設定に関してはあまり詳しくない為に、 困っています。 Apacheの設定などに詳しい方がいらっしゃれば、 これが何を意味しているのか教えていただけないでしょうか? 因みに、 「.htaccess」を使う目的は、 HTML5の<video>タグを使用してmp4形式の動画をサイトに掲載しようと思ったところ、 サーバーが『Content-Typeヘッダー』に正しい『MIMEタイプ』を指定していない場合、 動画が再生出来ない場合があるとのことで、 「AddType video/mp4 .mp4」 を記述した「.htaccess」を動画のアップ先ディレクトリにアップしようと考えています。 もしかするとすごく基本的なことを聞いているかもしれませんが、 宜しくお願いします。

  • htaccessでのErrorDocumentが出来ない…

    初めての質問なので、おかしな所があったら突っ込んでやってくださいm(_ _)m サーバーはApacheの2.0.53を使っています。 OSはWindowsXPです。 htaccessのErrorDocumentを使って、エラーページに自分で作ったものを表示させようと思ったのですが、500の内部エラーがでてしまいました。 「ErrorDocument 404 /404.html(改行)」 という設定で、404.htmlファイルはhtaccessと同じディレクトリにおいてあります htaccess自体はホスト制限の order allow,deny allow from all deny from ---.---.--.-- 等の設定で動作してるのでhtaccessが使えないということは無いと思います。 Apacheのエラーログには ErrorDocument not allowed here と表示されていますが、いまいち理解ができなくて困っています。 何か手がかりだけでもいいので教えてもらえないでしょうか?お願いしますm(_ _)m

  • WindowsNTserverで.htaccessファイルを設置可能にするにはどうしたらよいのでしょうか?教えてください。

    .htaccessファイルを使用可にするには、サーバー側で設定をしないといけないと思うのですが、どうしてもできません。 WEBサーバーソフトは、IISを使用しています。 どのように設定すれば、.htaccessファイルが動くようにできるのでしょうか? Apacheやhttpdなどのソフトではなく、IISでの設定方法を教えてください。 宜しくお願い致します。

  • .htaccessによるBasic認証ができない

    初歩的な質問で恥ずかしいのですが本当に困っているので助けてください。。。 自宅PC(XP)にapache1.3.9(訳あってこんな古いバージョンです)をインストールしました。 Basic認証を使用しようと思い↓のサイトを参考にやってみました。 http://www.shtml.jp/htaccess/basic.html .htaccessは c:/Program Files/Apache Group/Apache/htdocs/mysite/.htaccess に保存して、 AuthUserFileは /Program Files/Apache Group/Apache/htdocs/.htpasswd とし、 .htpasswdは同サイト内の"こちらにPHPプログラム"からID・PASSを作成しメモ帳で↑で指定した場所に保存しました。 その後ブラウザで配下のファイルにアクセスすると普通に表示されてしまうのです。認証画面すら出てきません。 ↓のサイトを見て設定してみたのですがダメでした。また、.txtにはなっていないはずです。 http://www.ponko2.com/win_htaccess.html なにか根本的に間違ったことをしているのでしょうか??わかる方がいらっしゃったら教えてください。お願いしますm(__)m

  • htaccess ファイルについて

    ベーシック承認をするときなどに使う .htaccess はアパッチのみで動作するものなのでしょうか? 他の種類のサーバーソフトを使っている場合や、自分のパソコンをサーバーとして公開している場合などは、どのようにしてアクセス制限(IPアドレスによるものではなく)をすればいいのでしょうか?

  • apache(.htaccess)の設定

    pukiwikiを使っていろいろ遊んでいるのですが,apacheの設定で困ったので教えてください. apacheサーバのIPアドレスは192.168.0.10で,pukiwikiは/var/wwwにあります. 理想はhttp://192.168.0.10とアクセスすると,http://192.168.0.10/pukiwikiと表示させたいです. apacheの設定で, DocumentRoot /var/www/pukiwiki としたのですが,http://192.168.0.10でpukiwikiのページが表示されましたが.http://192.168.0.10/pukiwikiではエラーでした. なお,apacheのログをみるとpukiwiki/pukiwikiは無いといった内容でした. /var/wwwに.htaccessを設置してみたのですができませんでした. .htaccess(パーミッション666) Redirect permanent /var/www/ /var/www/pukiwiki/ よろしくお願いします.

  • .htaccessについて

    WindowsにApacheを入れているのですけれど、 php.iniの変更に.htaccessを使う事は出来るので しょうか? また、IISでも.htaccessのような感じでphp.iniの 設定が出来るのでしょうか。 よろしくお願い致します。

    • 締切済み
    • PHP
  • CGIの設置.htaccessの設定について。

    windows7 32bitでapacheとperlでwwwサーバを構築しています。 初心者です。apacheは2.2.25でactive perlは5.16.3.1です。 例えば C:\wwwのフォルダに.htaccessに <Directory "D:/www1"> AllowOverride non </Directory> という記述と AddType application/x-httpd-cgi .cgi という記述で二つのルールを設定したいとしたら、 .htaccessにはどのように記述したらよいのでしょうか。 同じディレクトリに2個の.htaccessは入れられませんよね?