• ベストアンサー

Includes が使えない

さくらのVPSを使っています。 httpd.confの設定を、ウェブで調べて Option +Includes などとしました。 しかし、Include が動きません。 ブラウザに表示されたHTMLのソースを見ると、 <!--#include file="./googleanalytics.html"--> と書かれています。 つまり、Includesが動いていません。 どこを直せばいいのでしょうか。 ご回答よろしくお願いします。

  • aztek
  • お礼率38% (10/26)
  • CGI
  • 回答数2
  • ありがとう数10

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

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

拡張子の.はあってもなくても同じです。 さくらは制約が多く使ったことありませんが、ひょっとしてhttp.confの LoadModule include_module modules/mod_include.so の行がコメントアウトされているとか。 option のoverwriteが、制約されているとか <Directory *****> AllowOverride All </Directory> ユーザーディレクトリでincludeが許可されていないとか そのうえで.htaccessにて、 Option +Includes 通常のサーバーは、それでSSI有効になるはずですが・・  さくら自身に聞いて見るしかないかと

aztek
質問者

お礼

LoadModule include_module modules/mod_include.so はコメントアウトされていませんでした。 <Directory *****> AllowOverride All </Directory> の設定をしていました。 しかしながら、.htaccessにて、Options +Includes を作ってみたら、見事SSIが動くようになりました。 直接の原因はわからないのですが、お付き合いいただき本当にありがとうございました。 蛇足ですが、さくらのVPSは安いこともあって、サポートに問い合わせても「root権限をお客様に渡しているので、不具合は自分で解決してください。」とどえすな対応をされてしまいます。

その他の回答 (1)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

SSIだと思いますが、 ホームページを分割する方法 - その他([技術者向] コンピューター) - 教えて!goo( http://okwave.jp/qa/q8661753.html ) にも書きましたが、拡張子.htmlでSSIを動作させるためには、.htmlのファイルをSSIとして動作させなければなりません。 Option +Includes はIncludesのオプションを許可するという意味ですよ。

aztek
質問者

補足

ご回答ありがとうございます。 「AddHandler server-parsed html」は 「AddHandler server-parsed-html .html」のことでしょうか。 httpd.conf に記述してあります。 他に記述するものはないでしょうか?

関連するQ&A

  • htaccessが効かない

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

  • Apache2.2でPerlを呼び出すSSIを使ったHTMLをloca

    Apache2.2でPerlを呼び出すSSIを使ったHTMLをlocalhostで動かそうとしています。 exec cmdをHTMLファイルに埋め込みました。インターネットのApacheでSSIを使う方法を読み,httpd.confの中に Options FollowSymLinks Multiviews の後にIncludesをつけ 念のため Options Indexes FollowSymlinks の後にもMultiviews Includes をつけ   AddType text/html .shtml と AddHandler server-parsed .shtml を加えました。しかし、localhostで実行するとHTMLのSSIの部分だけ表示されません。 (アクセスカウンターのカウンターだけ表示されません)。どうしたらよいのでしょうか。 どなたか解決できるかた、回答よろしくお願いします。

  • さくらVPSで独自ドメインの設定

    お世話になっております。 さくらVPSで独自ドメインを使用すべく、 設定を行っておりますが、表示されません。 お分かりになる方がいらっしゃれば、 どうか、ご教授ください。 設定方法を解説してくれているサイトがいくつかあり、 それらを参考に、処理をしているところです。 手続きとしては、 1.ドメインを取ったところ(レジストラ)で、   どこのDNSを使用するのかを設定。 2.使用するDNSで、ゾーン設定。 3.さくらVPSで、バーチャルホスト設定 という感じかと思っております。 レジストラは、お名前.comですが、 DNSは、お名前のでもさくらのでも、 どちらでも、表示できれば構いません。 が、どちらでやっても、表示されません。orz Chromeで見ると、 「このウェブページにアクセスできません  ERR_NAME_NOT_RESOLVED」と表示される始末。 DNSの設定は、変更する度に、きちんと反映 されていることをwhois.netで確認しています。 ゾーン設定は、タイプAが、 さくらVPSのIPになっています。 バーチャルホスト設定は、 /etc/httpd/conf.d/vhost.conf の中で、 <VirtualHost *:80> DocumentRoot /var/www/html/xxxxxxx.click ServerName xxxxxxx.click ServerAlias www.xxxxxxx.click <Directory "/var/www/html/xxxxxxx.click"> AllowOverride All </Directory> </VirtualHost> という感じでやってから、Apacheを再起動しました。 が、何か間違ってますでしょうか。 あるいは、設定が足りないのでしょうか。 じつは、当初は適当に設定して、きちんと表示されて いたのですが、設定後数日経ったところで、突然、 表示がされなくなってしまいました。 設定はできているけど、別のところで問題が起こっている ということなのでしょうか。 サイトのコンテンツを作りながら、 何日かを掛けて、色々といじっているのですが、 一向にうまくいきません。 何かお気づきの点がありましたら、ご教授ください。 お忙しいところ、お手数をお掛けしますが、 どうぞ、よろしくお願いいたします。

  • PHPファイルをHTMLの拡張子のまま表示させる

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

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

  • httpd.confの編集後は?

    宜しくお願いします。 レンタルVPSサーバー Apache2.2.X系 Apacheは起動していますが、それからが・・・分かりません。。。 Webサイトを公表したいと思っています。 そこで、まず初めにhttpd.confを編集した方が良いとサイトや本で書いているのですが、どうやって編集したら良いのか悩んでいます。 根本的に間違っているかも知れないのですが、自分的にはTeratermを開き、suでroot管理者としてサーバーにアクセスしました。 そして、[root@XXXXXXXXXXX user]# vi /etc/httpd/conf/httpd.conf でhttpd.confを開きました。 色々なサイトや本を参考にhttpd.confの必要な初期設定を行ったのですが、どうやって編集したhttpd.confをサーバーに保存するのか?またapacheを再起動させないと反映されないと書いていたのですが、何時のタイミングで/etc/init.d/httpd restartを実行するのか? ご指導お願い致します。 (1)httpd.confの編集の方法は? (2)編集後にApacheを再起動させるタイミング、方法は?

  • Apache2.0とActivePerl5.8でCGIが動作しない

    ご教授願います。  掲題の通り、Win2000ProにApache2.0.48、ActibePerl5.8.1.807をインストールしローカル上にてApacheの動作確認は出来ました。  色々なサイトを調べ、現在のhttpd.confは下記のような設定となっています。 【httpd.confの主な変更点】  1:DocumentRootは別ドライブのフォルダ(C:ではない)に変更(httpd.confのファイル、229行目あたり)  2:同様に<Directory>も1と同じフォルダ(httpd.confのファイル、255行目あたり)  3:Options Indexes FollowSymLinks MultiViews ExecCGI Includesと変更(httpd.confのファイル、269行目あたり)  4:ActivePerlのインストール先は「C:/usr/local/」です。  5:test.cgiの格納場所は1で指定したフォルダと同じです。 【症状】  ブラウザのアドレスに「http://localhost」を入力するとApacheの動作確認画面が出ますが、「http://localhost/test.cgi」を入力すると『Forbidden You don't have permission to access/test.cgi on this server」と表示されます。 知識不足で申し訳ございませんが、よろしくお願いいたします。

  • apacheでのWebサーバ構築について

    Linux歴1年未満の初心者です。 現在業務でWebサーバの構築を行っています。 客先でRHEL4.0のインストールされたサーバにapache2.2.6をインストールし、httpd.confを一部修正した後、Webの照会を行ったところ、自身のブラウザでhttp://localhostとした場合は正しく表示されるのに、隣の(同じHUBにつながった)マシンから照会した場合は表示(接続)されません。 自社の事務所に戻り、できるだけ同じ条件でテストしてみようと、Fedora7に同じくapache2.2.6が入った状態でテストしたところ、全く同じ状態になってしまいました。 httpd.confのアクセス制御に相当するところとしては、DocumentRootについては、 Order Allor,Deny Allow from All としてあり、またその他のフォルダについての個別のアクセス制御などは入れていないので、httpd.confの設定上、見えない(見せない)箇所は設けていないはずです。 httpd.confの問題でなければ、サーバの通信設定か、照会するマシンのブラウザの設定ではないかと予想していますが、いかんせん経験不足なので…。 ご回答のほどよろしくお願いいたします。

  • まだphpmyadminのタイトル画面がでません

    Vine Linuxです。 apacheとphpinfoのテスト用画面は正常に出力されます。 しかし、ブラウザでphpmyadminのタイトル画面を表示したときには、そのディレクトリの中(phpmyadmin)のファイル構成が出てくるだけでした。 {インストール先ディレクトリ}/index.php でアクセスしようとするとNotFoundになりますので、 apacheのhttd.confに次のような記述を追加しました。 Alias /phpmyadmin/ "/var/www/html/phpmyadmin" <Directory "/phpmyadmin"> Options -Indexes FollowSymLinks Order deny,allow Allow from xxx.x.x.x Allow from xxx.xxx.xx.x <Directory> (xxxというのは接続するPCのアドレスが入ります) また、下記のサイトで出ていました、 http://ziddy.japan.zdnet.com/qa4458048.html 1. httpd.conf の DirectoryIndex ディレクティブに index.php が含まれていない。 2. httpd.conf に AddType application/x-httpd-php .php がない。 3. httpd.conf で Options -Indexes FollowSymLinks が指定されていない。または Options Indexes FollowSymLinks が指定されている。 の設定対応も行っています。 ここまでの設定でもブラウザでの表示は変化ありません。 足りない設定など、改善に向かうヒントがありましたら、ご教授いただけないでしょうか? よろしくお願いします。

  • SSI される .inc ファイル内に PHP を記述したい…が…

    お世話になっております。 .html から、SSI で .inc ファイルを呼び出し、その inc ファイル 内に記述の PHP を実行したいと考えております。 例えば、test.html に   <!--#include virtual="../include/inc/meta.inc"--> のような記述があり、include.inc に   <?php echo "test"; ?> のように記述があった場合、php4 では test と表示されるのですが、 php5 では、   <?php echo "test"; ?> がそのまま出てきてしまいます。 php4 と php5 の httpd.conf の違いは   LoadModule php4_module C:/php446/sapi/php4apache2.dll   LoadModule php5_module c:/php525/php5apache2.dll の行のみです。(いずれかをコメントにし、4と5を切り替え) 以下、httpd.conf の SSI の動作に影響を及ぼすと思われる 行を抜粋します。(コメント行も含みます) 環境は WINDOWS&Apache2 です。 <Directory /> Options FollowSymLinks MultiViews Includes ExecCGI AllowOverride All </Directory> <Directory "C:/Program Files/Apache Group/Apache2/htdocs"> Options All AllowOverride None Order allow,deny Allow from all </Directory> AddType application/x-httpd-php .inc .html .php #AddHandler server-parsed .shtml .html #AddType text/html .shtml .html .inc AddOutputFilter INCLUDES .shtml .html .inc #<Files *.html> #ForceType text/html #SetOutputFilter INCLUDES #</Files> #<Files *.shtml> #ForceType text/html #SetOutputFilter INCLUDES #</Files> #<Files *.inc> #ForceType text/html #SetOutputFilter INCLUDES #</Files> 原因は php.ini ですかね? ご存知の方、ご教授下さい。

    • ベストアンサー
    • PHP

専門家に質問してみよう