htaccessが効かない

このQ&Aのポイント
  • さくらのVPSを使用しているが、htaccessが有効にならない。
  • httpd.confの設定を変更してもhtaccessが有効にならない。
  • アクセス拒否やデタラメな文字列を設定してもエラーにならない。
回答を見る
  • ベストアンサー

htaccessが効かない

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

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.1

<Directory /> で許可したあと、別の部分で、Options や AllowOverrideが上書きされているとか?

susan-styl
質問者

お礼

notnot様 ご回答ありがとうございます! 仰るとおりで、下の行でAllowOverrideが上書きされておりました 長時間悩んでいたので助かりました 本当に本当にありがとうございます!

関連するQ&A

  • .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再起動

  • 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 何分、初心者なのでつまらない質問かもしれませんが 色々試みたんですが、お手上げ状態です。。 どなたかわかる方いらっしゃったらよろしくお願いいたします。

  • 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/配下に置いてあります。 どなたかご存知の方はいらっしゃいますでしょうか。 上記の設定内容だけだと情報が足りないなどございましたら、おっしゃってください。 宜しくお願い致します。

  • .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 という箇所がみつかりました。 ここの設定を変えれば良さそうな気がするのですが・・・ どなたか教えて下さい。宜しくお願い致します。

  • .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を利用する事ができるでしょうか? できるだけ詳しく教えて下さい。

  • ローカル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
  • htaccessによるアクセス制限で表示速度が遅くなってしまう原因について

    初めて質問させていただきます。 失礼がございましたらご容赦ください。 現在、お客様のHP、システムがレンタルサーバ上に設置されています。 システムへのアクセス制限をかけようとしているのですが以下のような 問題が出ています。 原因が分からず困っております。 原因、解決方法をご教示いただけますと幸いです。 ■現象  システムを設置しているURLに対し、お客様のIPアドレスからのみアクセスできるように  httpd.conf、htaccessに記載したつもりなのですが、お客様社内からのアクセスができ、  他からのアクセスは制限できましたが、表示速度が非常に遅くなってしまいました。  同じくhtaccessに自社のIPアドレスを記載して試したところ、自社からのアクセスは特に問題ありませんでした。  どうやらお客様のIPアドレスからのアクセスのみ非常に遅くなってしまうようなのです。  (お客様のネットワーク関係の設定等との弊害でしょうか?)  ※htaccessにはドメインでの記載ではなく、IPアドレスを直接記載しています。 ■httpd.confとhtaccessへの記載内容  1)httpd.conf   <Directory "制限をかけたいディレクトリ">    AllowOverride Options Limit   </Directory>  2)htaccess   order deny,allow   deny from all   allow from お客様のIPアドレス 考えられる原因、解決方法等を教えていただけますと幸いです。 よろしくお願い致します。

  • httpd.confで行う設定を.htaccessで行う方法

    こんにちはよろしくお願いします。 httpd.confで <Directory "/htdocs/cakeapp"> Allow from all </Directory> という設定をしなければなりません。 ところが,私の契約しているサーバーは,httpd.confを触れません。 そこで,.htaccessで設定する方法が有ると聞きました。これをを教えてくださいよろしくお願いします。

  • httpd.confを添削してください!!(長文)

    こんにちわ いろいろと調べながらhttpd.confを自分の理想の動作を得るたねに設定したつもりです。 添削をお願いします。 /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ DocumentRoot /var/www/html <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory "/var/www/html"> #←home Options FollowSymLinks Includes AllowOverride All Order allow,deny Allow from all </Directory> #.htaccessを許可、cgiは不可、ssiは許可、シンボリックリンク許可 Order~略 <IfModule mod_userdir.c> UserDir public_html </IfModule> <Directory /home/*/public_html> AllowOverride AuthConfig Limit Options +ExecCGI +Includes </Directory> #ユーザー領域では.htaccessで認証、アクセス元などで制御の許可。 それ以外は不可。 homeでcgiが不可ですがここでは許可したいので+を付けた。 <Directory "/var/www/cgi-bin"> AllowOverride All Options ExecCGI Order allow,deny Allow from all AddHandler image .gif .jpg AddHandler text/html .htm .html </Directory> /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ こんな感じなんですがどこかおかしいでしょうか?

  • (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の設定のどこかがおかしいのではと思っていますが、いろいろ調べましたがよくわかりません。 調べるポイントだけでもアドバイスいただければ、助かります。 よろしくお願い致します。