ロリポップの.htaccess設定方法について

このQ&Aのポイント
  • ロリポップでの.htaccess設定について教えてください。
  • .htmlでPHPを利用し、.shtmlではPHPを使用しない設定方法を教えてください。
  • .shtmlがエラーにならない.htaccessの記述方法を教えてください。
回答を見る
  • ベストアンサー

ロリポップでの.htaccess 設定

ロリポップでの.htaccess設定について教えてください。 .htmlでPHPを使えるようにしたいのですが、 管理しているファイルが.htmlと.shtmlが混ざっています。 .htmlでPHPが読めるように AddHandler php5.2-script .html と追記して、.htmlでPHPは使えるようになったのですが、 何でか指定していない、.shtmlがエラーを起こします。。 .htmlではPHPを利用 .shtmlにはPHPを使用しない という事がやりたいです。 逆に.htmlにSSIができるように AddHandler server-parsed .html と記述すると問題なく .htmlでもSSIができて.shtmlでも エラーが起こりません。 .shtmlがエラーにならない記述の仕方を教えてください。

  • PHP
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • mikemike7
  • ベストアンサー率87% (97/111)
回答No.3

>shtmlとしては動いたのですがインクルード文がダメみたいです。 試してみましたが私のほうでも駄目でした。 そこで.htaccessに以下を追記。 AddHandler server-parsed .shtml そうすると、読み込みは出来ましたが、文字化けしました。 SSIの読み込みで <!--#include file="include.html" --> <!--#exec cgi="include.html" --> <!--#exec cgi="include.php" --> の全てで文字化けしました。 あまりサーバーに詳しくないので、 この辺はわからないです(^^; 手っ取り早いのは、変更されていない拡張子で includeすれば良いのではないでしょうか。 // .htaccess AddHandler php5.2-script .html .php // SSI <!--#include file="include.htm" --> .htmは指定されていないでしょうから、 正常に読み込めるはずです。 // 余談 .htmlと.shtmlと.php などいろいろな問題から混在しているのだと思いますが、 経験上、管理の観点(長い目で見ると)からはまとめるのが 好ましいと思います。 最近のクローラーは優秀なので、ちゃんと301で 転送してあげればちゃんと反映してくれますよ。

ichigo100
質問者

お礼

いつもありがとうございます! また、進みました! > AddHandler server-parsed .shtml の追記ですが、追記しても私の環境ではなぜかエラーのままでした。。 ですが、 // SSI <!--#include file="include.htm" --> 仰る通り、htmやincなど指定していない拡張子ではインクルード文が使えましたので、 おそらくshtmlからphpと定義されているファイルを読み込むとエラーになるような気がしました。 ですので、順次htmやincへ変更していこうと思います。 そして、文字化けの件ですが、おそらくインクルードする側とされる側の文字コードが違うため起こると思われます。 読み込む側に <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> など、文字コードを指定してあげると解消されました。 // 余談 最近ロリポップに移動したばかりなのですが、 やっとphpが使える環境になりましたので、phpで統一を図ろうと試行錯誤中での出来事でした! また、301リダイレクトのアドヴァイスもありがとうございました。 困ったことがあったらまた質問させていただきたいと思いますので、 その時見かけましたらよろしくお願い致します。

その他の回答 (2)

  • mikemike7
  • ベストアンサー率87% (97/111)
回答No.2

No1です。 ロリポップにテストできるサーバーがあるので 試してみましたが、正常に動きました。 // .htaccess AddHandler php5.2-script .html // test.shtml <!--#echo var="LAST_MODIFIED"--> // test.html <?php echo date('Y-m-d H:i:s'); ?> SSIの表記ミスってことなのかなあ。 まずは簡単なSSIにして稼動を確かめてから、 実際のSSIコマンドで試されてはどうでしょう。 そうすることで.htaccessの問題はひとまず解決するかと^^

ichigo100
質問者

お礼

またまた、ありがとうございます! 教えていただいた方法で記述するとちょっと進みました! shtmlとしては動いたのですがインクルード文がダメみたいです。 動いた.shtmlページに他ページでも記述している 下記を入れると // test.shtml <!--#include file="test.html" --> // test.html SHTMLのインクルードテスト 成功 IEではこのページは表示できません Chromeではエラー 330 (net::ERR_CONTENT_DECODING_FAILED): 不明なエラーです。 と出てきました。 .htaccessで AddHandler php5.2-script .html をトルツメすると正常に動いているので記述間違いは無いと思います。。 う~何が原因なのやら、 また、お気づきの点がございましたらご指摘をお願いします。

  • mikemike7
  • ベストアンサー率87% (97/111)
回答No.1

.htmlをPHPに。 .shtmlをSSIにするなら AddHandler server-parsed .shtml AddHandler php5.2-script .html で動きませんか?

ichigo100
質問者

お礼

ご連絡ありがとうございます。 さっそく、試してのたのですが、やはり.shtmlページにアクセスをするとエラーが出てしまうようです。。

関連するQ&A

  • ssiをhtmlで動作させる為、htaccess内に以下のような記述を

    ssiをhtmlで動作させる為、htaccess内に以下のような記述をしました。 AddHandler server-parsed .html これでhtmlのままSSIは正常に読みこまれました。 しかしながら、これによりSSIを読み込んでいる同じファイル内にphpを以下のようにインクルードしているのですが、これが正常に読み込まれなくなりました。 <?php include"../../../php/123123.php" ?> SSIを読み込ませつつ、上記phpを正常に動作させる方法はないでしょうか。 ちなみにサーバーはロリポップです。 宜しくお願いします。

  • htaccessでphpとSSIを同時に動かす?

    http://www.dspt.net/tools/emoji/と同じように絵文字変換できるようにしたのですが、htaccessにAddHandler server-parsed htmlをすることになるので、今まで使っていたアクセス解析の「うごくひと2」が使えないです。 SSIとPHPをhtaccessで同時に動かすことは可能ですか? http://sb.xrea.com/showthread.php?t=14639で質問しているかたとほぼ同じ状況ですが、私はこの方法だとエラーになってしまいます。 ちなみにxhtmlではなくhtmlで作っています。 サーバーはハッスルです。 うごくひとを動かしていたときはAddHandler x-httpd-php .htmlをhtaccessに記述すると動作しました。 htaccessにAddHandler server-parsed htmlと AddHandler x-httpd-php .htmlをhtaccessに記述すると、絵文字が表示されるけどうごくひとは文字化けしてしまいます。 絵文字もアクセス解析も表示させるにはなにが必要でしょうか?

    • 締切済み
    • PHP
  • Apache, httpd.conf設定 - .htmlでphp/ssi共に使えるようにするには?

    いつもありがとうございます。 Apacheの設定に詳しい方に質問です。 拡張子.htmlでphp使えるようにhttpd.confまたは.htaccessに記述するヤツありますよね。あのやり方は知ってるのですが、いままでうちでそれをやると.htmlファイルがダウンロードされてしまうという現象があったのですが、今日ようやくその原因がわかりました。ssiの記述とカブってるとダメなのですね。 AddHandler server-parsed .shtml .html AddType application/x-httpd-php .html と書くとうまく動きません。ssiは動くけど、phpはダメです。 それでその回避策として以下のように書くというのを教わりました。 AddHandler server-parsed .shtml .html AddType application/x-httpd-php .htm すると、 .html -> ssi .htm -> php という風に確かに動くんですが、これではちょっと困る。 既にサーバ内のあちこちで.htmlにてssiを多用してしまっているのです。 そこで質問なのですが、ssi&php共に、.htmlで動く方法はあるんでしょうか? 環境:Fedore Core 4 + Apache2.0.54 + PHP Version 5.0.4 よろしくお願いします。

  • .htaccessの2つ以上の設定の仕方を教えてください!

    .htaccessでフォルダの中身を見れなく設定しているのですが、 もう一つ設定する場合、続けて書いたらサーバーエラーになってしまいます。 どうしたらよいのでしょうか? 設定したいものは 1.Options -Indexes 2.Options Includes AddHandler server-parsed html これをふたつ記述するのはどうすれば…。悩んでいます。

  • htaccessで301リダイレクトするために統一したいのですが、うま

    htaccessで301リダイレクトするために統一したいのですが、うまくいきません。 htaccessは、サーバーで使用することは可能です。 現在ウェブサイトでSSIをつかっており、下記のように書いていました。 Options ExecCGI Includes AddType text/x-server-parsed-html .shtml AddType text/x-server-parsed-html .html AddType text/x-server-parsed-html .htm AddType application/x-httpd-cgi .cgi そのhtaccessにこのようにリダイレクトを追記したのですが ↓ Options ExecCGI Includes AddType text/x-server-parsed-html .shtml AddType text/x-server-parsed-html .html AddType text/x-server-parsed-html .htm AddType application/x-httpd-cgi .cgi RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.example\.com RewriteRule (.*) http://example.com/$1 [R=301,L] サーバーにそれをアップし、.htaccessにしたら403forbiddenになります。いろいろとぐぐってみたりしたのですが、同じような症状がみつからず、どのようにしたらいいのかわからないのです。 一応、改行もちゃんとしたつもりなのですが、・・・ htaccess自体がサーバーでつかえないというわけではないですので、おそらく書き方が間違っているのでしょうか?

    • ベストアンサー
    • SEO
  • .htaccessによる制御 phpとssi

    某ポータルサイトを運営しておりまして サイトはxhtmlで作っています。(拡張子はhtml) そこではssiを使用していて、一番トップのディレクトリ(index.htmlがあるところ)には .htaccess ------------------------------------------------------------------------------------- Options +Includes AddType text/html html .shtml .html .htm .xhtml AddHandler server-parsed html .shtml .html .htm .xhtml ------------------------------------------------------------------------------------- を設置しております。 これで問題なくhtmlの拡張子で表示しております。 次に 新しくサイトリニューアルしようとphpを使いサイトを作っていまして、 そのページ(xhtmlで作って拡張子はhtml)が入ったフォルダをアップしまして トップより下の階層(そのリニューアルページが入ったフォルダ)に.htaccessを ------------------------------------------------------------------------------------- AddType application/x-httpd-php .php .html .xhtml .shtml ------------------------------------------------------------------------------------- と書いたものをあげました。 ところがページを見るとダウンロードになってしまい、ページを読み込むことができません。 .htaccessを削除するとページは表示されますが、phpが有効になっていません。 試しにトップの階層の ssiを有効にする.htaccessを消して phpを有効にする.htaccessだけ残すと 問題なく表示されます。 上の階層のssiを有効にする.htaccessがある限りページはダウンロードになってしまいます。 .htaccessは下の階層ほど優先されるはずが、 「優先」というだけで「上の階層のは読まない」わけではないんですよね? おそらく問題は トップの階層にある、ssiを有効にする.htaccessだと思いますが なんとか旧ページのssiを有効にしつつ、新ページのphpを有効にする両方有効にする手段はないのでしょうか? 疑問(1)phpとssiは同時に動かない? 疑問(2).htaccessで下の階層だけ読んで上の階層の.htaccessは読ませない設定はあります? 疑問(3)下の階層の.htaccess(phpを有効にするhtaccess)の方で上のssiの設定を打ち消す書き方はあります? 参考までに階層はこうなっています index.html hoge.html .htaccess(ssiを有効にする設定) new ├.htaccess(phpを有効にする設定) ├salon1 |  ├index.html(問題のページ1) |  ├imgフォルダ |     ├aaa.jpg ├salon2 |  ├index.html(問題のページ2) |  ├imgフォルダ |     ├aaa.jpg ・ ・ ・ ちなみに問題のページのディレクトリに直接htaccessを置いてもダメでした。 お願いします

    • ベストアンサー
    • PHP
  • SSIをhtmlで有効にするのはよくないでしょうか

    100ページくらいのhtmlに共通のメニュー(ナビゲーション)やフッタを入れるために、メニューやフッタファイルをSSIでincludeしています。 .htaccessで AddHandler server-parsed html としていますが、これをやると(全てのhtmlを一旦サーバーが解釈するので)サーバーの負担が増大するからよくないとききました。 実際のところどうなんでしょうか? SSIを使わないページはごくわずかで、大半がshtmlであれば結局大差ないでしょうか?

    • ベストアンサー
    • Perl
  • htmlページでSSIを利用する方法を教えてください

    htmlページでSSIを利用する方法を教えてください。 ちなみに、さくらインターネットのスタンダードプランを利用しています。 また、なぜか http://www.tagindex.com/other/htaccess.html に載っている様に Options +Includes AddType text/x-server-parsed-html .shtml .html .htm と.htaccessに入力したのですが、 エラーがでてダメでした。 (.htaccessに入力したのは Options +Includes AddType text/x-server-parsed-html .shtml .html .htm だけです。) よろしくお願いします。

    • ベストアンサー
    • CGI
  • Apach2でSSIコマンドが実行出来ないのですが教えてください

    環境は、自宅サーバ、WindouwsXP、Apache/2.0.53 (Win32) PHP/4.3.10 mod_jk2/2.0.2です。 [httpd.conf SSI関連設定] AddType application/x-server-parsed .shtml AddHandler server-parsed .shtml AddHandler cgi-script .cgi .pl .bat [SHTMLファイル] <HTML><HEAD><TITLE>counttest</TITLE></HEAD><BODY> あなたは<!--#exec cmd="countlog/count.pl" -->人目のお客様です。 </BODY></HTML> [count.plファイル] #!c:/perl/bin/perl $file="C:/ProgramFiles/Apachegroup/Apache2/htdocs /nandemokan/countlog/numfile"; open(FILE, "<$file"); #人数ファイルを読んで 以下省略 http://localhost/nandemokan/index.shtml [SHTML実行結果] あなたは人目のお客様です。 http://localhost/nandemokan/countlog/count.pl [直接SSIを指定した結果] Internal Server Error なお、コマンドプロンプトからcount.plを実行すると 正常にカウンタが出力されます。 ANHTTPDではうまくいったのですが、Apache2で出来なくて困っています。よろしくお願いします。

    • ベストアンサー
    • CGI
  • htaccess ssi basic認証

    ssiでヘッダー・フッターを読み込んでいるサイトがあります。 そこでまずhtaccessでssi、shtml→htmlへの設定をしています。 そのサイトの中でディレクトリを切ってbasic認証が必要なページを作成しました。 そのディレクトリの中ではヘッダー・フッターが読み込むことができず、エラーが表示されます。 an error occurred while processing this directive そこでbasic認証に使ったhtaccessにもssiの設定を追記しましたがうまく行きません。 ssiとbasic認証を同時に設定することはできるのでしょうか。

専門家に質問してみよう