ルート ディレクトリ (つまり、私の場合は教室フォルダー) に index.php を書きました。これは、私の Web サイトの唯一のエントリ パスであるはずです。
私のindex.phpの最初の数行は
index.php
<?php
include_once $_SERVER['DOCUMENT_ROOT'].'/classroom/include/db.inc.php' ;
session_start();
define('BASE_URL', '/classroom/');
define('DIR_ROOT', dirname(__FILE__) . DIRECTORY_SEPARATOR);
define('DIR_HOME', DIR_ROOT . 'home' . DIRECTORY_SEPARATOR);
define('DIR_INCLUDE', DIR_ROOT . 'include' . DIRECTORY_SEPARATOR);
if(isset($_GET['name']) and $_GET['name'] == 'home' )
{
$url='';
$url= BASE_URL . 'home' . DIRECTORY_SEPARATOR;
header("Location: $url");
exit();
}
ホームディレクトリで、「DIR_HOME」または「DIR_INCLUDE」を使用しようとするとhome.html.php.nowがロードされます。エラーメッセージが表示されます
( ! ) 注意: 未定義の定数 DIR_INCLUDE の使用 - C:\wamp\www\classroom\home\home.html.php の 17 行目で 'DIR_INCLUDE' を想定
私のhome.html.phpでエラーが発生した部分を示しています
home.html.php
<table width="100%" border="0" cellpadding="4px" >
<tr>
<td>
<table border="0" width="100%" cellpadding="0px" cellspacing="0px">
<tr>
<td class="top">
<?php include(DIR_INCLUDE . 'topper.html.php') ; ?>
</td>
</tr>
index.php.にhome.html.phpを含めると問題は解決しますが、localhost/classroom/homeのようなURLをたどらず、常にlocalhost/classroomとして残ります。
質問:なぜこのエラーが発生するのですか??URL を localhost/classroom/home のようにして解決する方法
編集:誤解があると思います。私の質問は、URLをlocalhost/clasroom/homeとして保持しながら問題を解決するにはどうすればよいかということです...そして、すべてのスクリプトにすべてのディレクトリ定義を含めると、同じようになりますすべてのスクリプトに session_start() を含める必要があります..私の質問は、そうする場合、単一のエントリパスの概念を保持するかどうかです.単一のエントリパスを維持したいため