.htaccessについて

このQ&Aのポイント
  • webサーバで.htaccessを有効にする方法を教えてください。
  • apachのhttpd.confファイルでAllowOverride ALLという箇所を変更することで、.htaccessを有効にすることができます。
  • 詳細な設定方法はサーバ環境によって異なりますので、サーバ管理者に相談してください。
回答を見る
  • ベストアンサー

.htaccessについて

宜しくお願い致します。 webサーバで.htaccessを有効にしたいと思っております。しかし、どの様に設定すれば良いのか分かりません。自分なりの予想ですが、apachのhttpd.confを.htaccessで検索したら # This controls which options the .htaccess files in directories can # override. Can also be "All", or any combination of "Options", "FileInfo", # "AuthConfig", and "Limit" # AllowOverride ALL という箇所がみつかりました。 ここの設定を変えれば良さそうな気がするのですが・・・ どなたか教えて下さい。宜しくお願い致します。

  • nikuq
  • お礼率75% (477/631)

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

  • ベストアンサー
  • Lean
  • ベストアンサー率72% (435/603)
回答No.1

AllowOverrideディレクティブは、.htaccess内でどのディレクティブがそれ以前の設定を上書きすることが出来るかを設定できます。 つまり、.htaccess内で設定出来て、かつその設定が有効になるディレクティブの種類を設定出来るというわけです。 指定出来るディレクティブの分類は AuthConfig  認証に関するディレクティブの使用を許可する FileInfo  ドキュメントタイプを制御するためのディレクティブの使用を許可する Indexes  ディレクトリインデックスを制御するためのディレクティブの使用を許可する Limit  ホストへのアクセス制御を行うためのディレクティブの使用を許可する Options  特定のディレクトリにおける機能を指定するためのディレクティブの使用を許可する All  上記すべての上書きを許可する None  上記すべての上書きを禁止する になります。 なので、Noneを指定すると.htaccessでの設定の上書きが禁止、つまり、.htaccessが使用出来ないという事になります。 どの分類にどのディレクティブが含まれるかは、参考URLにあるApacheのマニュアルを参照してください。

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

お礼

ありがとうございます! 早速参考のURL見て勉強してみます。 ありがとうございましたーm(__)m

関連するQ&A

  • ApacheのAllowOverrideの設定について

    すいません、Apacheでサーバを立てているんですが、 htdocsにAllowOverrideの設定をしようとした所、 ----------------------------------------- <Directory /> Options FollowSymLinks AllowOverride None </Directory> ----------------------------------------- と ----------------------------------------- # This controls which options the .htaccess files in directories can # override. Can also be "All", or any combination of "Options", "FileInfo", # "AuthConfig", and "Limit" # AllowOverride None ----------------------------------------- と二つ設定する所があったんですが、どちらを弄れば良いんでしょうか? また、これらの2つはどちらを設定するかで、何か変わってくるのでしょうか? できれば、その違いも、詳しく教えていただけませんか?

  • ローカルhtaccessが有効かどうか確認する

    ローカルでphpを勉強しています。 拡張子なしでも表示させるために、 httpd_confとhtaccessを利用して実現しようとしていますが、 どうも上手くいきません。 httpd_confは、 <Directory /> Options FollowSymLinks   #AllowOverride None AllowOverride All Order allow,deny Deny from all </Directory> <Directory "C:/xampplite/htdocs"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks Includes ExecCGI # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # #AllowOverride None AllowOverride All # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory> としています。 htaccessには、 php_value default_charset UTF-8 php_value mbstring.language Japanese php_value mbstring.detect_order SJIS,EUC-JP,JIS,UTF-8,ASCII php_value mbstring.http_input auto php_value mbstring.http_output pass php_value mbstring.internal_encoding UTF-8 php_value mbstring.substitute_character none php_flag mbstring.encoding_translation OFF date.timezone = Asia/Tokyo Options +MultiViews AddType text/html .php AddType application/x-httpd-php .html としています。 実は先日まで、なんなく拡張子無しでファイルにアクセスでき、 開発も普通に行っていました。 ですが、突然、拡張子なしのファイルにアクセスすると、 Object not found! Error 404 がでます。 何らかの設定変更などが気づかずに行われた可能性が高いです、 どうも原因を切り分けことができず、あれもこれも試しましたが元通りの拡張し無しでアクセスが できないままです。 そこで、 まず、htaccessそのものが有効になっているか、機能しているか調べたいと思います。 これはどうすれば分かり易く判定できますでしょうか? htaccesssになにか記述したりすると、有効だと判定したりできますか? または、httpd_conf自体に 問題があるのかもしれません。 でも、どうみても無いようなきがします。 とにかく、htaccessが効いてるかどうかしりたいです。 よろしくお願いします。

    • 締切済み
    • PHP
  • (apache2)htaccessの認証が動かない

    RedHat9.0使用、apache2は後からコンパイルして入れました。 .htaccessをおいたディレクトリをwebブラウザで参照しても、これまで通り、認証画面が表示されることもなく、画面が表示されてしまいます。 設定は以下のように行いました。 1.httpd.conf AllowOverride None → AllowOverride Limit AuthConfig apache2再起動 2.htpasswd -bc で.htpasswd ファイル作成 chmod 644 .htpasswd 3..htaccess設置 AutyType Basic AuthUserFile /home/.htpasswd AuthName "Members Only" require valid-user chmod 644 .htaccess ルートでもユーザのpublic_html内でもいろいろ試してみましたが、 .htaccessは無視されているように思えます。 httpd.confの設定のどこかがおかしいのではと思っていますが、いろいろ調べましたがよくわかりません。 調べるポイントだけでもアドバイスいただければ、助かります。 よろしくお願い致します。

  • htaccessが効かない

    いつもお世話になっております さくらのVPSを使用(試用期間)させていただいております さくらではVPSに「KVM」を採用しているとのことです OSはdefaultの「CentOS5」を使っています 私のスキルですが VPSは初めての使用ですが 趣味でSSHでのサーバの構築は行ってきました apacheをyumでインストール後 「httpd.conf」の「Options」「AllowOverride」を以下の通り変更 <Directory /> Options All AllowOverride All </Directory> httpdを再起動することで 通常、htaccessが有効になると思いますが 有効になりません .httaccessに アクセス拒否を記述しても正常にアクセス可能ですし デタラメな文字列を設定してもエラーになりません。 お忙しい中恐縮ですが、 お分かりになられる方がいらっしゃいましたら、 なにかヒントをご教授頂けますと嬉しいです よろしくお願い致します

  • .htaccessの利用

    現在、アイル社でレンタルサーバーを利用しています。 .htaccessの設定をしてもパスワードによる認証制限ができなかったので、問い合わせたところ、下記の回答が戻ってきました。 =====ここから====================== ClassCat Cuteのデフォルトでは.htaccessが利用できないようになっていますが、各仮想サイトの設定ファイルに"AllowOverride All"と記述することで利用可能になります。 各仮想サイトの設定は下記ディレクトリーにあります。 /etc/httpd/conf/vhosts/ ■仮想サイト1で.htaccessを利用したい場合の例 1. viで仮想サイトの設定ファイルを開きます。 vi /etc/httpd/conf/vhosts/site1 2. 『AllowOverride All』の既述を追加します。 -------変更前(例)------- Options FollowSymLinks Includes ExecCGI Options FollowSymLinks Includes ExecCGI -------------------------- -------変更後(例)------- Options FollowSymLinks Includes ExecCGI AllowOverride All Options FollowSymLinks Includes ExecCGI AllowOverride All -------------------------- 3. 設定変更後、webサービスの再起動を行います。 /etc/rc.d/init.d/httpd restart ※コマンド操作についてはサポートしておりませんので、参考書籍や情報サイト等にてご確認ください。 =====ここまで====================== まったく意味がわかりません。 viとは何ですか? 何をどうしたらよいのか…。 上記の内容がわからない旨も問い合わせましたが、返事がありませんので、ご質問させて頂きます。 オフィスのPCはWindowsです。 どのような操作をする事で、htaccessを利用する事ができるでしょうか? できるだけ詳しく教えて下さい。

  • mod_rewrite(.htaccess)で静的化したいのですが。。

    mod_Rewrite(.htaccess)を使って静的化をしようとしています。 設定内容は、以下にしています。 --------------------- ■httpd.conf DocumentRoot "/var/www/html/" <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory "/var/www/html/"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> --------------------- ■.htaccess RewriteEngine on RewriteRule ^/free/([0-9,a-z,A-Z]+)$ /free/index.php?action=$1 --------------------- 上記の設定だと次ページが表示されません。 また、httpd.confの設定に以下を追加すると正常に次ページが表示され、URLの静的化されます。 --------------------- RewriteEngine on RewriteRule ^/free/([0-9,a-z,A-Z]+)$ /free/index.php?action=$1 --------------------- .htaccessが有効になっていないか、もしくは.htaccessの格納場所が間違えているかと 思っているのですが、いろいろ試してみましたが結局うまくいきません。 .htaccessの格納場所は、http://ローカルIP/free/配下に置いてあります。 どなたかご存知の方はいらっしゃいますでしょうか。 上記の設定内容だけだと情報が足りないなどございましたら、おっしゃってください。 宜しくお願い致します。

  • httpd.confと.htaccessについて

    http://www.○○.jp/ とファイル名を指定せずにURLを打ち込んだ時にindex.htmlではなくindex.phpを 見に行くようにしたいので、 apacheのhttpd.confを設定したんですが、うまく.htaccessファイルを見に行ってくれません。 一応、下記のとおりAllowOverrideをAllにして、.htaccessを使用可能な状態にしたハズなのですが 何か足りない部分があるんでしょうか? ************************************* <Directory /> Options FollowSymLinks AllowOverride All </Directory> AccessFileName .htaccess ************************************* ちなみに.htaccessが使用可能でなくても、最初にindex.phpを見に行ってくれればOKなので 下記のようにhttpd.confに設定をしたのですが、やっぱりダメで 無条件でindex.htmlを見に行ってしまいます。 DirectoryIndex index.php index.html index.htm index.shtml index.cgi 何分、初心者なのでつまらない質問かもしれませんが 色々試みたんですが、お手上げ状態です。。 どなたかわかる方いらっしゃったらよろしくお願いいたします。

  • .htaccessでの認証について

    apacheでの「.htaccess」認証の質問です。 よろしくお願い致します。 OS:RedHat9 WWWサーバ:Apache 2.0.40 ###httpd.conf### <Directory "ドキュメントルート">内の AllowOverride none ↓変更 AllowOverride AuthConfig ################## ドキュメントルートにて Apacheグループユーザにより 「.htpasswd」の実行 /usr/bin/htpasswd -c ".htpasswdの場所" ユーザ名 Apacheグループユーザにより 「.htaccess」を作成 ###.htaccess### AuthUserFile ".htpasswdの絶対パス" AuthGroupFile /dev/null AuthName "Please Your Password" AuthType Basic require valid-user ################# apacheの再起動 以上を実施しました。 index.htmlにACCESSすると パスワード要求がくるのですが、 認証してくれません。(Error 401) 「.htpasswd」を(moreで)確認すると ユーザ名:暗号化したパスワード となっており問題ないかのようにみえます。 htaccessまたはhttpd.confの設定がまずいのでしょうか? 初心者の質問で申し訳ないのですが よろしくお願い致します。

  • .htaccess によって指定IPのアクセス制限をしたい

    以下の環境・設定で求める制限ができません。設定不備等ご指導いただければと思います。宜しくお願いいたします。 ●環境: ApacheV2.2.0・FeroraCore6・社内運用(否インターネット) documentroot からのシンボリックリンク先で制限したい ●設定: (1)アクセスを制限したいディレクトリと同階層に「.htaccess」を作成(192.168.12.xxからのアクセスを制限・以下内容) order allow,deny deny from all allow from 192.168.12 (2)httpd.conf の以下を編集 #<Directory /> # Options FollowSymLinks # AllowOverride None #</Directory> <Directory /> Options All AllowOverride All </Directory> (3)httpd再起動

  • basic認証がきかない

    自宅PCのapache2でbasic認証をつかおうと思っています。 そこでつまずいてます… htdocs配下のfileフォルダに設定しようと思い、fileフォルダに.htaccessと.htpasswdファイルを入れて設定してみましたが全然効いてくれません… ためしにhtdocs内にこの2つをいれるとhtdocsフォルダにあるindex.htmlを開こうとするとちゃんと効いてくれます。 htdocs配下のフォルダのファイルへの認証する場合なにか他の設定が必要なんでしょうか? アドバイスお願いします。 ######とりあえず、現在の状態####### [.htaccess] AuthUserFile C:/Program Files/Apache Group/Apache2/htdocs/file/.htpasswd AuthGroupFile /dev/null AuthName "password!" AuthType Basic require valid-user [httpd.conf] # Options FileInfo AuthConfig Limit # AllowOverride All     : # AccessFileName .htaccess     : # <FilesMatch "^\.ht"> Order allow,deny Deny from all </FilesMatch>