こちらにははじめて書き込みさせていただきます。
win2000でapache2.0.45で動かしております。
windowsでのサーバーではlinuxやUNUXと違い「.htaccess」の使用はできないと聞きましたが、事実でしょうか?
その場合、独自のエラーファイルを表示したい場合どのようにすればよろしいでしょうか?
ご回答のほど、よろしくお願いいたします。
自問自答で申し訳ないですが、エラードキュメントは設定できました。
httpd.confの810行目でした。
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
ErrorDocument 404 error/404.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#
.htaccessに関しては引き続きご回答お待ちしております。よろしくお願いいたします。
> windowsでのサーバーではlinuxやUNUXと違い「.htaccess」の使用はできないと聞きましたが、事実でしょうか?
この根拠(でどころ)は何ですか。私は出来ると聞いています
> .htaccessに関しては引き続きご回答お待ちしております。よろしくお願いいたします。
人に聞く前に自分で試して見たらいかがでしょう。5分もあればわかるのでは
おやじさんはlinuxサーバーは詳しいとは思いますがwindowsは使っている貴方の方がわかるはずです
OAK様レスありがとうございます
> この根拠(でどころ)は何ですか。私は出来ると聞いています
レンタルサーバー各社(wondows系)や、サポート、apache関係のサイトで見たのでそれをそのまま丸呑みしてしまったようです。
偏った知識で申し訳ございません。
> 人に聞く前に自分で試して見たらいかがでしょう。5分もあればわかるのでは
試したところ、IE特有のエラー画面が出てきました。
なので.htaccessを削除すると普通につながるので、設置できないと判断したしたいです。
この実地を踏まえ掲示板に投稿させていただいた次第です。
設置できると聞いているということなので、自分の設置の仕方が間違っていることも考え、もう少し自分で参考書などで調べてみます。
このたびはありがとうございました。
> おやじさんはlinuxサーバーは詳しいとは思いますがwindowsは使っている貴方の方がわかるはずです
windowsのapacheは触って2日目、インストして1日も経過しておりませんので参考書片手でもまだまだ不明な点が多いです。
こんにちは。これ以上は帰ってから。
> win2000でapache2.0.45で動かしております。
>
> windowsでのサーバーではlinuxやUNUXと違い「.htaccess」の使用はできないと聞きましたが、事実でしょうか?
事実確認はされたのでしょうか? 事実は、デマです。httpd.confでは、デフォルトで「AccessFileName .htaccess」はコメントアウト、つまり有効になってますよね。使えないものが設定されているはずはありません。.htaccessで何をするかにもよるでしょうが、.htaccessと.htpasswdによるBasic認証や、アドレスによるアクセス制限等は、デフォルトでできるようになっており、おやじのクライアントパソコンでしっかりと動いてますよ。
但し、デフォルトで使用できるのは、UserDir "C:/apache2/htdocs/*/public_html"
だけです。つまり、http://www.aconus.com/~oyaji/test/aaa.htmlのようにユーザ毎に~付きでアクセスするときだけです。上記の場合、C:/apache2/htdocs/oyaji/public_html/test配下に.htaccessを置けば、test以下で効きます。
http://acorn.zive.net/oyaji/test/aaa.htmlのようにユーザ毎に~無しやドキュメントルート配下で使用したい場合は、httpd.confのそれぞれのDirectoryディレクティブのAllowOverrideディレクティブを編集する必要があります。デフォルトではAllowOverrideは「none」になっているので、使用できません。下記のように、noneを消して必要なディレクティブを書いてください。
FileInfoでファイル関係の制御、AuthConfigで認証関係、Limitでアクセス制御等ができるようになります。詳しくはApacheのドキュメントを読んでください。具体的ではないので分かりにくいのと、英語なのでつらいかもしれませんが、ほとんどのことはドキュメントに書かれていますので、是非読んでください。後は、自分なりにトライするだけです。
<Directory "C:/Apache2/htdocs">
(snip)
AllowOverride FileInfo AuthConfig Limit
(snip)
</Directory>
ここで、やめるとまたご質問がくると思いますので、今回の.htaccessの用途がわからないのですが、単なるアクセス制限のようなものならやってみればできることはすぐ分かるので、少し高度なものにチャレンジして失敗して聞かれていると想定して、参考までに.htaccessと.htpasswdによるBasic認証の方法をあげておきます。
○「.htpasswd」を作成する。
エディタで、ユーザ名:パスワードとPlain Textで書いてもいいのですが、ここでは、少し高度にパスワードを暗号化する。
apacheのbinフォルダの中に、htpasswd.exeというコマンドがあるので、コマンドプロンプトで、下記のように入力すればmd5で暗号化された.htpasswdが作成できる。
apacheがc:\apache2にインストールされていて、.htpasswdをc:\apache2配下に作成するものとした例である。.htpasswdはどこにおいてもいいが、ユーザがアクセスできないところに置くこと。
c:\> c:\apache2\bin\htpasswd -mc c:\apache2\.htpasswd oyaji
New password: ********
Re-type password: ********
Adding password for user oyaji
二人目からは、cオプションなしで、-mだけでやる。
○「.htaccess」を作成する。
エディタで下記内容を作成し、.htaccessというファイル名でBaisc認証したいフォルダに置く。AuthNameは認証画面の領域というところに表示される内容で、日本語もOK。AuthUserFile は上で作成した.htaccessファイルのパスを書く。
AuthType Basic
AuthName "このページは、Webmaster専用です。"
AuthUserFile c:/apache2/.htpasswd
<Limit GET POST>
require valid-user
</Limit>