include'の表示に関する問題

0
2022.04.28

私はこれを理解するのに苦労しています。私はこの前にサイトで何も変更していませんでしたが、私のウェブホスト(BlueHost)は時々私のファイルを混乱させることがあります。

とにかく、私はインクルードで公開されているページに何も表示させることができません。以下は、ページのコードのコピー(コンテンツを除く)と私の.htaccessファイルのコピーです。他に何が必要なのかよくわかりません。サイトの場所はhttps://templemountfaithful.org/で、以下がそのコードのページです。https://templemountfaithful.org/articles/

<?php $thisPage='news';?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <title>Commentaries and News Updates from the Temple Mount Faithful</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="description" content="These articles cover the Third Temple,The Temple Mount, Jerusalem, the Jewish people, Israel, Bible prophecy, the Middle East and more.">

    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
  <link rel="stylesheet" type="text/css" media="screen" href="/style/main.css">

</head>

<body>

<div id="header">
    <?php include("/includestmf/topNavTMF-Main.inc"); ?>
</div>

<div class="colmask leftmenu">
    <div class="colleft">
        <div class="col1">
            <!-- Column 1 start -->

<!-- content -->

<h1 style="margin-bottom: .2em;">Commentaries and News Updates</h1>
<hr>
<p>
All commentaries are written by Gershon Salomon, Chairman of the Temple Mount Faithful, unless otherwise noted.</p>

<h2 class="article2">2022</h2>
<ul>

</ul>

<!--   CONTENT   -->

<!-- content //-->

<div style="font-size: .8em; color: #8f8f8f; padding-top: 10px;">
 <?php
  putenv("TZ=America/Miami");
  echo "Last modified: " . date( "F j, Y", getlastmod() );
?>
</div>

            <!-- Column 1 end -->
        </div>

        <div class="col2">
            <!-- Column 2 start -->
  <?php include("/includestmf/leftNavTMF.inc"); ?>
            <!-- Column 2 end -->
        </div>
    </div>

</div>
<div id="footer">
  <?php include("/includestmf/footerTMF.inc"); ?>
</div>

<script type="text/javascript" src="/javascript/common.js"></script>

</body>
</html>

========

# Last changed: April 27, 2022

AddHandler server-parsed .htm .html .inc
AddType audio/x-m4a MPEG-4 media m4a
AddType video/mp4 MPEG-4 media mp4
AddType video/x-m4v MPEG-4 media m4v

# Use PHP7 as default
Options +ExecCGI
# AddType text/html .html .htm
# AddHandler server-parsed .html .htm
AddType text/html .inc
AddHandler server-parsed .inc

# AddHandler application/x-httpd-ea-php72 .php
# AddType application/x-httpd-php .html .htm .inc

RewriteEngine on
RewriteBase /
ServerSignature Off

ServerSignature Off

# Used for the errorpage.php file
ErrorDocument 400 /errorpage.php
ErrorDocument 401 /errorpage.php
ErrorDocument 403 /errorpage.php
ErrorDocument 404 /errorpage.php
ErrorDocument 500 /errorpage.php

SetEnv TZ America/New_York

ヘルプ!

回答
1
2022.04.28
<?php include("/includestmf/topNavTMF-Main.inc"); ?>

include文の引数としてドキュメントルートの相対URLパスを使おうとしているようです。これはうまくいきそうにありません。ファイルパスにスラッシュプレフィックスを含めると、PHP はサーバーのファイルシステムのルートにあるファイルを探します。ここでは、絶対パスを使用する必要があります。たとえば、以下のようになります。

<?php include($_SERVER['DOCUMENT_ROOT']."/includestmf/topNavTMF-Main.inc"); ?>

しかし、PHP のエラーログや画面に E_WARNING が表示され、 不正なファイルパスであることが警告されているはずです?