• 締切済み

上層の.htaccessの影響回避

よろしくお願いいたします。 さくらのサーバー(スタンダードプラン)を使っていて、 .phpを.htmlで動作させるために、いろいろ調べたところ、 さくらの環境下では以下のように.htaccessを設定するのがベストだと判明しました。 [ .htaccess の内容 ] DirectoryIndex index.html index.php Action myphp-script /php.cgi AddHandler myphp-script .html .php [ 前提条件 ] cp /usr/local/php/最新のバージョン番号/bin/php-cgi /home/USERNAME/www/php.cgi のコマンドを処理しておく。 この設定で、htmlの拡張子でも、phpが正しく動作してくれるようになったのですが、 その下層にあるディレクトリで上記の.htaccessの影響を避けたい(キャンセルしたい)とき 下層に設置する.htaccessにどのような記述を行えばよいでしょうか、、 ちなみに、「none」とだけ記入した場合もNGでした。 ※質問カテゴリがふさわしくなければ申し訳ございません。 サーバーの運用(Apacheの設定)などに関する質問です。 ■以下はより詳しい質問理由です。 そもそも影響を回避したい理由は トップが http://google.com/ の場合、 http://google.com/hoge/が下層にあるとします。 さらに、http://hoge.google.com/を開いたとき http://google.com/hoge/に対してリダイレクトするように設定しています。 .htaccessになんの記述もない時は、 http://hoge.google.com/でもhttp://google.com/hoge/でも 同じページが開かれます。 (SEO等の観点からも2つURLを持つのは好ましくないのは承知ですが;) ところが.htaccessに先ほどの設定を行うと 「The requested URL /php.cgi/index.html was not found on this server.」 というエラーメッセージが出てしまいます。 php.cgiを求めているのかと思い、http://google.com/hoge/直下に コピーしたphp.cgiも置いてみましたが、今度は真っ白なページが表示されるのみです。 .htaccessに何の設定もない時にうまくいっていたので、 http://google.com/hoge/ではhttp://google.com/直下の .htaccessに影響をうけないようにしてあげたいのです。 何卒よろしくお願いいたします。

みんなの回答

  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

AddHandler で拡張子に対応付けたハンドラを 取り消すのは、RemoveHandler です。

参考URL:
http://httpd.apache.org/docs/2.2/mod/mod_mime.html#removehandler
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • htaccessのリダイレクトについて

    html、phpなどの拡張子付きリクエストを、末尾がスラッシュの URLにリダイレクトしたいのですが、方法をご教示ください。 例えば、 http://www.hoge.com/hoge/ へのリクエストを、異なるサーバーの http://www.hoge2.com/hoge/ にリダイレクトしたいと考えており、以下のように記述しています。 #.htaccessの記述 Redirect permanent /hoge/ http://www.hoge2.com/hoge/ しかし、 /hoge/hoge.php のリクエストがあった場合、以下のようにドキュメント名を付加される ので困っています。 http://www.hoge2.com/hoge/hoge.php 宜しくお願いします。

    • ベストアンサー
    • PHP
  • .phpを.htmlで使用する際のhtaccess

    html内でphpを使用する際のhtaccess記述について。 .phpを.htmlで使用します。 ネットで探してたくさん出てきましたが AddType php5.x-script .html AddType application/x-httpd-php .html AddHandler myphp-script .php .html TypeをHandlerに変えたり拡張子の.(ドット)を抜いたりして試していますがうまくいきません。 独自ドメインをhttp://example.comとすると、 http://example.com/にアクセス:ファイルをダウンロードしますか?と表示されます。 http://example.com/index.phpにアクセス:正常に表示されます。 http://example.com/index.htmlにアクセス:何も表示されません。(ソースをみると、phpの部分がそのまま表示されています) 動作確認はIE。index.htmlとindex.phpは内容は同じです。 サポートは休業日で、メールを送っても返信はありません。 現在サーバーの移転をしていて、引っ越し前のサーバーの期限が30日までなのでかなり焦っています...。(別の質問サイトでも同じ質問をしています...。) 引っ越し前のサーバーはロリポップですが、 AddHandler php5.3-script .htmlで正常に表示されています。 わかる方がいらっしゃいましたら、回答お願いします。 そのほか ・パーミッションはindex.html、index.php、.htaccess:604(htmlはサーバー推奨の604) ・文字コードUTF-8で統一、改行コードCRLF

  • htaccessでindex.htmlをindex.phpにしたいだけなのですが

    htaccessでindex.htmlをindex.phpにしたいだけなのですが 半分しか期待通り動かないんです。 --- <Files index.html> Action text/html /foo/index.php? </Files> --- 例えば、http://www.hoge.com/foo/index.html でアクセスされたら /foo/index.php を起動したいと思っています。 これで一応、index.php を起動することだけはできましたが、下層の index.html まで /foo/index.php が起動してしまいます。 下層ディレクトリを無視する方法ってありますでしょうか? ちなみに mod_write はつかえません^^; よろしくお願いいたします。

  • php化して、.htaccessでリダイレクトしたが、index.phpが強制的に表示されてしまう

    1.トップページをhtmlからphpに変更しました。 旧)http://www.hoge.com/index.html 新)http://www.hoge.com/index.php 2.「.htaccess」に301リダイレクトを記述しました。 Redirectpermanent /index.html http://www.hoge.com/index.php 3.困ったこと http://www.hoge.com/ でアクセスしたときに http://www.hoge.com/index.php に転送されてしまう。 できれば、 http://www.hoge.com/ このまま表示してほしいんですが、 .htaccessの記述に問題があるのでしょうか? すみません、分かる方には簡単なのかもしれませんが、 教えて頂ければ助かります。

    • 締切済み
    • PHP
  • .htaccessを用いて.cgiを.htmlにリダイレクトしたい

    .htaccessを用いて.cgiを.htmlにリダイレクトしたい 現在webサイトで以下のようなURLが表示される掲示板を設置しています。 http://hoge.com/bbs1/bbs.cgi?nd=dd&parent=32 http://hoge.com/bbs1/bbs.cgi?nd=dd&parent=500 (最後の数字は10から500くらいまであります) これを過去ログにするため、html化しました。 http://hoge.com/log1/32.html http://hoge.com/log1/500.html しかし以下のような.htaccessを、/bbs1/以下に設置しても、htmlに転送することができません。 RedirectPermanent /bbs1/bbs.cgi?nd=dd&parent=32 "http://hoge.com/log1/32.html" ちなみに以下のようなhtmlファイル同士の転送はできます。 RedirectPermanent /bbs1/index.html "http://hoge.com/log1/index.html" 301リダイレクトでcgiをhtmlに転送することはできないのでしょうか? もしおわかりになりましたらご教授いただけますと大変有り難いです。

    • ベストアンサー
    • CGI
  • .htaccessについて

    「ロリポップレンタルサーバー」で.htaccessファイルを設置したのですが、 なぜか「500エラー」が出てしまいます。 何が原因なのか分からないでしょうか? 【問題の.htaccessファイル】 <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> Options +MultiViews Options -Indexes ErrorDocument 401 http://hoge.com/error/401.htm ErrorDocument 403 http://hoge.com/error/403.htm ErrorDocument 404 http://hoge.com/error/404.htm ErrorDocument 500 http://hoge.com/error/500.htm RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.hoge\.com)(:80)? [NC] RewriteRule ^(.*) http://hoge.com/$1 [R=301,L] DirectoryIndex index.htm Redirect permanent http://hoge.com/sub http://sub.hoge.com/ order deny,allow [EOF] ちなみに「.htaccess Editor」というサイトで作ったものを少しいじりました。

  • htaccessの制御で500エラーが出る

    htaccessで、メンテナンス画面とhtmlファイルのままPHPを実行する記述を 同時に書きたいのですが、そうするとIP除外していない人に500エラーが出ます。 ErrorDocument 503 /maintenance.html <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} !=/maintenance.html RewriteCond %{REMOTE_ADDR} !=xxx.xxx.xxx.xxx RewriteRule ^.*$ - [R=503,L] </IfModule> Action myphp-script /php.cgi AddHandler myphp-script .php .html さくらのレンタルサーバーですので、"AddType application/x-httpd-php .php .html"ではなく 上のように書くとhtmlでPHPを実行できます。 この記述のままアクセスすると、REMOTE_ADDRでIP除外しているものからは 思い通りにそのまま表示されるのですが、それ以外のものからは500エラーが出る状態と なっています。 希望は、特定IPのみhtmlでPHPを実行する通常アクセス。 特定IP以外は、メンテナンス画面という結果にしたいです。 なにか方法はありますでしょうか?

  • .htaccessによる文字コード設定

    レンタルサーバーを使用しているのですがphp.iniの編集ができない ため直接phpファイルにini_setで文字コード設定を行っていました。 タイトル通りなのですが.htaccessにて文字コード設定をまとめて管理 したく思っているのですが質問があります。 .htaccessをルートに置きます。httpdocs/.htaccessとした場合 httpdocs/hoge/やhttpdocs/hoge/hoge/のようにルート直下の各階層 にも有効なのでしょうか? また基本はutf-8なのですが携帯サイトがある場合(httpdocs/mobile/) 文字コードをshift_jisに変更したいのですがこのような事は.htaccess で制御可能でしょうか? 自分なりに調べてみたのですが情報がみつからずわかりませんでした。 調べていた際に気になることがあったのですが.htaccessによる設定は 効果がないというものあればそれとは逆にphpに設定しても効果はない という賛否両論の意見が見受けられました。 人による?もしくはサーバーによる?の意見なので一丸にこれという のはないとは思いますがどちらで管理するべきなのでしょうか? 有識者の方いらっしゃいましたらご教授お願い致します。

    • ベストアンサー
    • CSS
  • .htaccessでのRewriteRuleが下層ディレクトリに効かない

    現在一番上の階層にドメインを適用しており、そこでwww有りと無しを統一する為、.htaccessに以下のように記述しています。 RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.example\.com)(:80)? RewriteRule ^(.*) http://example.com/$1 [R=301,L] これで、http://www.example.com/ は http://example.com へ、 下層ディレクトリの http://www.example.com/sample/ は http://example.com/sample/ と、 上記のようにリダイレクトしてくれますが、下層ディレクトリの中に掲示板スクリプトを設置しているものがありまして、 そのディレクトリ(/bbs)の中にも、スクリプトのURL書き換えの為のRewriteRuleを記述した.htaccessを設置しています。 ※このディレクトリ(/bbs)のRewriteRuleには、RewriteCond %{HTTP_HOST} は記述していません。 ここで困った事に、http://www.example.com/bbs/ にアクセスすると、そのままwwwが付いたURLがそのままアドレスバーに表示され、 www無し(http://example.com/bbs/)にリダイレクトしてくれません。 .htaccessを設置していない(RewriteRuleを記述していない)下層ディレクトリは、上層ディレクトリに記述しているRewriteRuleの継承をしてくれる為、http://example.com/sample/ のように表示(リダイレクト)されますが、上記の/bbs ディレクトリなどに対しても、上層のRewriteRule を引き継げる方法は無いでしょうか? 色々調べて、RewriteOptions inherit というのも見つけたのですが、/bbs ディレクトリの.htaccessに記述しても、 トップページ(http://example.com/)へリダイレクトされてしまい、どうすれば良いか悩んでおります。 環境は共用レンタルサーバで、 Apacheのバージョンは1.3.39 (Unix)。 httpd.confは自分では設定する事が出来ません。 上層ディレクトリのRewriteRuleを引き継げない場合、/bbs ディレクトリの.htaccessにはどのように記述すれば www無し(http://example.com/bbs/)になるのかでも勿論構いません。 もし良い方法がありましたらご教示頂けますと幸いです。 宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • .htaccessによりリダイレクトされるサイトの一部だけリダイレクト

    .htaccessによりリダイレクトされるサイトの一部だけリダイレクトされないようにできませんか? ドキュメントルートhome/直下の.htaccessには、下記の記述がされています。 RewriteEngine on RewriteRule .html$ http://www.sample.com/index.php ↑これは、拡張子が.htmlのページを表示しようとしたらwww.sample.com/index.php(TOPページ)へリダイレクトさせるという意味かと思うのですが、 home/webalizer 直下には、自動的に○○○.htmlファイルが生成されるようになっており、 このファイルを開こうとしても、TOPページにリダイレクトされてしまい、 FTP等でダウンロードしてからでないと内容を確認できません。 ルート直下の.htaccess は手を加えたくないので、 home/webalizer直下に、何らかの記述の.htaccessファイルを置くことにより、webalizer内の.htmlファイルだけはリダイレクトせずに開けるようにできないものでしょうか?

    • ベストアンサー
    • PHP
このQ&Aのポイント
  • 私の場合、今年1月末に退職し、現在は傷病手当金を受給しています。来年3月で手当金も終了するため、その後は雇用保険を受給する予定です。しかし、具体的な給付金額がわからないため、教えていただけますか?
  • 私は自己都合で退職しましたが、前職は障害者雇用での勤務でした(約3年半)。年齢は40代前半で、給与は時給制で手取り12万~15万程度です。傷病手当金は30日分で約10万円ほどです。1月末に退職しましたが、昨年9月末から会社に出勤していませんでした。詳しい条件と給付金額を教えていただけますか?
  • 質問者は今年1月末に退職し、現在は傷病手当金を受給しています。来年3月で手当金も終了するため、その後は雇用保険を受給する予定です。しかし、具体的な給付金額がわからないため、教えていただけますか?自己都合での退職や、前職が障害者雇用での勤務だったこともあり、条件と給付金額について詳しく知りたいとのことです。
回答を見る