А в XML который импортируете в каком виде post_name?
Можете кусок XML показать?
query_posts(array('post__not_in' => $ids)); - вот эта строка запрашивает все посты которые не входят в предыдущие три айдишника
хтакесс тут не причем, линки движком ворпресса генерируются.
Посмотрите при написании поста какая ссылка генерируется (над текстовым полем)
Возможно это какой-нить плагин ее вам подправляет.
Кусок кода где заголовок выводится еще выложите.
А пока можно попробовать в секцию /* header */ вставить
h1, h2, h3 { clear:both; overflow:hidden; }
^[a-z0-9]+$
Ошибка "headers already sent" говорит о том что вывод уже начался, в после любого вывода хедеры уже невозможно передать. Ищите где вывод начинается.
Выводом может считаться любой символ и даже пробел.
И кстати, когда найдете лучше такой код поставьте:
<?php if(sizeof($_GET) && implode('', $_GET) == '') { header('HTTP/1.1 301 Moved Permanently'); header('Location: /'); }?>
Надо смотреть в htaccess, возможно не доходит до этого правила
Поставьте его сразу после
RewriteEngine On
RewriteBase /
или покажите свой htaccess
poyzn добавил 12.08.2010 в 15:13
Посмотрел Ваш сайт, рекомендую вариант на php,
так как ?option тоже будет редиректится на главную
пардон, вот так вот должно:
RewriteCond %{QUERY_STRING} .+ RewriteRule .* http://www.site.com/? [R=301,L]
Только надо учесть что апач будет ВСЕ запросы такого вида переадресовывать на главную
Можно в какой-нить общий файл, перед выводом написать
<?php if($_SERVER['QUERY_STRING']) { header("HTTP/1.1 301 Moved Permanently"); header("Location: /"); } ?>
сейчас подумаю как можно в htaccess'е реализовать
poyzn добавил 12.08.2010 в 14:52
или в htaccess:
RewriteCond %{QUERY_STRING} .+ RewriteRule .+ http://www.site.com/? [R=301,L]
Так выводите ссылки на статьи. Получаете из базы название статьи, если урл не хранится в базе - генерируете (как он там у вас генерируется?) и выводите Ваши ссылки/товары/статьи - всё что угодно