Эта тема на forum.dklab.ru


6apxat: Проблема с .htaccess и include()
Вопрос решен, тему можно закрыть.
bæv:
в результате чего получается пустая страница
— в логах Апача что пишется?

(Может, Вам просто нужно создать файл 404.html?)


P.S. Сразу не заметил...

Проверкой существования файла должен заниматься Ваш index.php: если файл не найден, посылать заголовок 404-й ошибки.
6apxat:
сейчас так и есть:

$level3 = $_GET['level3'];
$level2 = $_GET['level2'];
$level1 = $_GET['level1'];

if (!isset($level1)) { $level1 = "index"; }

if (isset($level3)) {
$l3path = "inc/$level1/$level2/$level3.inc.php";
if (file_exists($l3path)) {
$inc = $l3path;
} else { header("HTTP/1.0 404 Not Found"); header('Location: /404'); }
} elseif (isset($level2)) {
$l2path = "inc/$level1/$level2.inc.php";
if (file_exists($l2path)) {
$inc = $l2path;
} else { header("HTTP/1.0 404 Not Found"); header('Location: /404'); }
} else {
$l1path = "inc/$level1.inc.php";
if (file_exists($l1path)) {
$inc = $l1path;
} else { header("HTTP/1.0 404 Not Found"); header('Location: /404'); }
}

Но нужно сделать так, что запрашиваемый адрес оставался в строке. Сейчас по сути происходит редирект.
bæv:
6apxat, что-то Вы в показаниях путаетесь: то у Вас «получается пустая страница», то вдруг оказывается, что «по сути происходит редирект»...

Вы бы определились сначала.
6apxat:
Я все понятно объяснил. Выдавалась пустая страница, поэтому я посылал заголовок 404.

Проблема решена, спасибо.

Эта тема на forum.dklab.ru