понятно, спасибо
Задание такое, по-другому нельзя. Вот, например, когда вы хотите лайкнуть, а не авторизированы на фейсбук, то что.... появляется новое окошко (не блок никакой) и в нем происходит авторизация. Если она была успешна, то результат этой успешности возвращается в основное окно. Вот как бы это реализовать...
Лично я бы оставил, чисто для эстетичности и естественности. Хотя, по-моему, на продвижение это никак не влияет, мое имхо ---------- Добавлено 09.03.2012 в 20:21 ---------- А вот от этого
лучше избавиться с помощью, прописав условие в .htaccess
Да, но в таком случае 410 будет отдаваться для всех страниц вида /page/{id}... нужно, чтобы еще дополнительно соблюдалось это условие ( if ( ! have_posts()) ), т.е. для этой страницы не было найдено постов. В любом случае спасибо Вам за ответ.
maldivec, со вторым замечанием согласен, забыл об параметрах, а вот на счет первого скажу, что хотел сделать универсальное решение, т.к. посчитал, что автор привел лишь один из частных случаев урла, по которому доступны файлы .mp3. Ну да ладно...главное, чтобы автор поста нашел применение приведенным выше способам и у него все заработало)
Пожалуйста, у меня есть и другой способ
RedirectMatch 301 [^/]+/[^/]+/(\d+\.mp3) %{HTTP_HOST}/$1/$2
Ну и че в нем такого гавнистого?
Можно, конечно, и по-другому написать этот код
$path = $_SERVER['PATH_INFO'];$path = preg_replace('#(/musik)/folder/(\d+\.mp3)#', '#$1/$2#', $path);header("Location: $path");
Можно и средствами php сделать, вставив приведенный ниже код до загрузки основного содержимого
if( isset($_SERVER['PATH_INFO']) ) { // http://site.ru/musik/folder/085432.mp3 $path = $_SERVER['PATH_INFO']; // http://site.ru/musik/085432.mp3 $path = substr($path, 0, strrpos(dirname($path), '/')) . '/' . basename($path); // редирект header("Location: $path"); }
Да, действительно пагинацию делает тема. Не знаю, что именно с ней не так, но нашел альтернативное решение, с помощью которого получилось добиться желаемого эффекта, а именно в header.php (в самое начало) добавлено условие
<?php if( ! have_posts()) header("HTTP/1.0 404 Not Found"); ?>
а в index.php и single.php выводится уже не сообщение, а подключается 404.php
<?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> ... <?php endwhile; ?><?php else : ?> <?php include '404.php'; ?><?php endif; ?>
404 отдается.---------- Добавлено 23.02.2012 в 10:59 ----------Отключение всех плагинов не помогло, проблема осталась
Появилась следующая проблема, прошу совета знатоков...
Одним словом на блоге Wordpress была постраничная навигация (допустим было 100 постов. На каждой странице выводится по 10 постов и, соответственно, постраничная навигация содержит 10 ссылок: 1 2 3 4 5 6 7 8 9 10). Google проиндексировал каждую из 10-и страниц с превью постов. Затем мы удалили некоторое количество постов (осталось около 80-ти) и, соответственно, количество страниц в постраничной навигации уменьшилось. Проиндексированные ранее страницы /blog/page/9, /blog/page/10 стали отдаваться с ошибкой (страница не найдена), но не 404, а 200.
Вопрос: как вы поступаете в таких ситуациях и как сделать, чтобы отдавался код 404.
Всем спасибо.