• ベストアンサー

htaccess使わずに.phpを.html表示

お世話になります。 現在、phpを使ったサイトを作成しています。 客先の意向で拡張子を.phpではなく.htmlにしなくていはいけませんが、htaccessを触ることは禁止されいてます。 htaccess使わずにファイル名index.phpをindex.htmlで表示させる方法があれば教えてください。 お願いいたします。

  • PHP
  • 回答数6
  • ありがとう数1

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

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.4

.htaccessが触れないなら、なおのことhttpd.confなんて無理でしょうね(php.iniなどはphpとして動かない以上は意味がないです)。 ・拡張子.htmlは諦めてもらう ・.htaccessを触れるか、代替方法があるサーバを用意してもらう の二択です。 ファイル名省略時に(index.htmlが存在しないときに)index.phpは拾わないのですかね(DirectoryIndexがどうなっているか確認してみてください)。もしそうであれば、全部ディレクトリ分けしてindex.phpを置く構成で「ファイル名なし」にしてしまうという選択肢もありますが・・・。

その他の回答 (5)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.6

あまり頭のいい方法ではありませんが コンテンツはajaxでうけとりhtmlは呼び出すだけ という方法がないことはないかも

  • tracer
  • ベストアンサー率41% (255/621)
回答No.5

サーバーの設定(httpd.conf)を変更することで、拡張子に関連付けられた挙動を変更できるわけですが、それを簡単に変更できるようにしたものが、.htaccessと考えて問題ありません。つまり、.htaccessの変更を禁止されているということは、サーバーの設定変更を禁止されていると考えることができます。 結論としては、サーバーの設定変更せずに、拡張子に関連付けられたMIMEタイプを変更することはできません。分かりやすく言うと、別の方法はありません。 index.htmlというのは例えなのかもしれませんが、もし、ファイル名にphpが入るのを嫌うのであれば、ディレクトリ名で終わるパスに変更することでも対応できそうですね。 http://example.com/index.php → http://example.com/ http://example.ocm/hoge/index.php → http://example.com/hoge/ つまり、すべてのファイル名をindex.phpに変更して、ディレクトリ単位でページを管理するということです。特別に珍しい管理方法ではないはずです。

  • Gletscher
  • ベストアンサー率23% (1525/6504)
回答No.3

index.htmlの中でphpを呼び出して、ユーザにはindex.htmlをアクセスさせるだけではダメなんですか?

elkheart
質問者

補足

ちょっと面白いかもです。 試してみます。 ありがとうございます。

回答No.2

php.iniではなく、httpd.confでした。環境によってはphp.confかもしれませんが。

回答No.1

php.iniを書き換えます。 .htaccessすら使えないのだから、php.iniを編集することはできないのでしょうけど。 .htaccessもしくはphp.iniを書き換えることと、htmlでPHPを実行させることは両立し得ないので、客先にはどちらかを諦めてもらいましょう。

elkheart
質問者

お礼

回答ありがとうございます。 客先のHPに関して複数の会社が担当ごとに更新をしているため、大幅な変更を嫌っているようです。 拡張子を変えたらリンクも切れるわけですから当たり前ですよね。。。 htaccess変更できるように掛け合ってみます。

関連するQ&A

  • .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
  • .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での設定について

    はじめまして。 .htaccessの設定で質問があります。 .htaccessで「AddType application/x-httpd-php .html」と設定し、 PHPのファイルをhtmlの拡張子で表示するようにしています。 全てのファイルで.htmlがPHPとして動作しないように、 <Files index.html> AddType application/x-httpd-php .html </Files> としています。 上記の設定でindex.htmlだけPHPとして動作すると思いますが、 これをあるDirectoryのindex.htmlだけに限定することはできないのでしょうか。 具体的には、 /htdocs/index.html では、PHPとして動作し、 /htdocs/test/index.html では、PHPとして動作しないようにしたいのです。 よろしくお願いします。

  • さくらを利用時の.htaccessの場所は

    現在さくらのサーバーを使いながら、ワードプレスでサイトを作成しています。 URLに/wpを表示させないため、index.phpの中を/wpを書き足してwwwの階層に保存したのですが、.htaccessが見つからずに、index.phpと同じ階層に保存することが出来ません。 各サイトに.htaccessをindex.phpと同じ階層に保存すればいいとありますが、どこに.htaccessがあるのか分からないので、分かる方いらっしゃればよろしくお願い致します。

    • ベストアンサー
    • HTML
  • 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のリダイレクト(php→html)

    .phpで運用していたウェブページの拡張子を、.htmlに変更したのですが、 .phpにアクセスがあった場合、.htmlにリダイレクトするように htaccessを設定したいと思っています。 htaccessに、 RedirectPermanent http://user-domain/hogehoge.php http://user-domain/hogehoge.html と書けばリダイレクトされるとは思うのですが、 ページ数が少し多いサイトですので、1ページ1ページ書かずにできる方法を ご存知の方がいれば、教えて頂けないかと思いこちらに投稿しました。 どなたかお知恵を貸していただけませんか?? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPファイルをHTMLの拡張子のまま表示させる

    PHPファイルのページを拡張子がHTMLのままで表示させたいのですが、 .htaccessで設定すると、ブラウザではダウンロードされてしまいます。 ファイルの配置やソースで間違っている所はありますか? フォルダ index.html .htaccess ソース(.htaccess) AddType application/x-httpd-php .htm .html サーバ さくらインターネット

    • 締切済み
    • PHP
  • PHP、,htaccessの文字コードの設定について

    ホームページのフッターのテキストが、全ページ共通なので、PHPを使って管理したいと思っています。 ●htmlファイルにincludeを使って、footer.php(共通テキストをprint指定してあるファイル)を読み込みます。  <?php include "footer.php";?> ●php拡張子設定の為、.htaccess内に、  AddType application/x-httpd-php .htm と記述。 ●htmlファイル、footer.php、.htaccessを全て文字コードEUCで作成してテストしたところ無事認識され成功しました。 が、テストページ以外のhtmlファイルは全SHIFT-JISで構築しているため、文字化けを起してしまいます。 ので、htmlファイル、footer.php、.htaccessを全て文字コードSHIFT-JISで作成してみましたが、それこそ文字化けをしてしまいます。 .htaccessにAddType application/x-httpd-php .htmを記述しなければ文字化けは起こさないのですが、もちろんphp拡張子の設定がなっていたいので、動作しません。 一体どうすればよいでしょうか? PHP初心者です。 どなたか教えて下さい。よろしくお願いします。 説明不十分でしたら申し訳ございません。

    • ベストアンサー
    • PHP
  • htaccess rewrite 無限ループ

    すでにあるサイトにhtaccessを設置して、 rewriteで日本語のファイル名でアクセスさせる方法を模索しています。 例↓ ・「http://www.example.jp/index.php」でアクセスされたら「http://www.example.jp/インデックス」 にリダイレクト。 ・「http://www.example.jp/インデックス」でアクセスされたら「index.php」 を表示させる。 htaccessの例↓ Options +FollowSymLinks RewriteEngine on RewriteRule ^index\.php$ /インデックス [R=301,L] RewriteRule ^インデックス$ index.php [L] 上記の設定だと無限ループになってしまいます。 index.phpでアクセスされたら404を返す方法も考えましたが・・・もっといい方法はないでしょうか?

    • ベストアンサー
    • PHP
  • phpを使って現行htmlを置き換えた場合の問題点

    現行のhtmlファイル群の共通メニュー等をphpを使ってインクルードしてメンテナンスしやすくしたいと思っております。(htmlファイル数約1500) そこで懸念されるのが、拡張子がphpに変わってしまった場合、現在Googleにインデックスされているhtmlファイルの価値をうまく引き継げるのか?ということです。 htaccessで拡張子認識させて、表面上htmlのままにする方法は、全ファイルが対象の場合、サーバー負荷が大きく現実的ではないということですが・・・。 拡張子をphpに変更して、なおかつGoogleの表示順位も維持するような手法はありますか? よろしくお願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう