Нужно сделать, чтобы при запросе файла blog.php выдавало 404 ошибку. Но! В .htacccess у меня уже есть правило: Код (Text): RewriteRule ^blog(/.*)?$ blog.php [L] И мои попытки сделать что-то типа: Код (Text): RewriteRule blog.php [404,L] при запросе /blog[...] так же выдают 404 ошибку, что как бы и правильно, тк в первом правиле указано что при таком запросе запускать blog.php Как реализовать?
Вы подключаете blog.php через include или require. Но вы хотите, чтобы не было доступа к этому файлу из браузера напрямую. Если я вас правильно понял, предлагаю следующий вариант заглушки: PHP: <?php if(!isset($_GET['a'])) { header("HTTP/1.0 404 Not Found"); } else { // собственно содержимое blog.php. } ?> где вместо $_GET['a'] может быть любая другая переменная, которая будет признаком того, что blog.php используется как нужно.
Нет, неправильно поняли RewriteRule ^blog(/.*)?$ blog.php [L] - это ни include и не require. PHP тут вообще не должен быть задействован.
Я тут покопался немного и что-то нашёл: Код (Text): RewriteEngine On RewriteCond %{THE_REQUEST} " /blog\.php " RewriteRule .* 404-whatever RewriteRule blog(/.*)?$ blog.php