Подскажите, куда копать?
Поставил wordpress 2.3.3.
Вроде все без заморочек, понятно.
Сделал пару рубрик, в одну из рубрик запихнул 2 поста.
На главной странице посты видны, а при тыканьи в меню с названием рубрики – говорит 404, ничего не найдено.
Посмотрите, подскажите пожалуйста.
_http://corsar.name/
Пост относится к рубрике, но при просмотре рубрики постов не найдено

ЧПУ следует тщательно проверить
А что там проверять?
Переключил на стандартный вариант "дата и время".
Больше никаких телодвижений не предпринималось.
как видо, с "дата и время" всё работает отлично. вывод? правильно.. и ещё, rus-to-lat вам бы отнюдь не помешал
В смысле все работает отлично?
У меня то как раз и не работает отлично, иначе я бы топик не открывал.
Даже в админке, в управлении рубриками показывает количество записей отличных от нуля, при кликаньи туда – "записи не найдены".
P.S. Зачем плагин rus2lat?
Чтобы не было красоты типа _http://corsar.name/2008/02/06/%d0%be-%d0%bc%d0%b0%d1%88%d0%b8%d0%bd%d0%b5-%d1%87%d0%b0%d1%81%d1%82%d1%8c-%d0%bf%d0%b5%d1%80%d0%b2%d0%b0%d1%8f-%d0%ba%d1%83%d0%bf%d0%b8%d0%bb-%d1%80%d0%b0%d0%b7%d0%b1%d0%b8%d0%bb/
что бы не было _http://corsar.name/2008/02/06/%d0%be-%d0%bc%d0%b0%d1%88%d0%b8%d0%bd%d0%b5-%d1%87%d0%b0%d1%81%d1%82%d1%8c-%d0%bf%d0%b5%d1%80%d0%b2%d0%b0%d1%8f-%d0%ba%d1%83%d0%bf%d0%b8%d0%bb-%d1%80%d0%b0%d0%b7%d0%b1%d0%b8%d0%bb/
настройки чпу и базисов (.htaccess) – с студию
омг. первая мысль – фигасе кросспост от имени Ю.Б. О_о
По поводу плагина – понятно. Найду – поставлю.
1. Настройки ЧПУ.
Дата и время.
http://corsar.name/2008/02/07/sample-post/
Базисы – пустые.
2. .htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Жаль, что никто не помог.
Попробую снести и поставить заново, может что-нибудь изменится.
Фигня какая-то получается.
Поставил с нуля.
Далее по шагам:
– установка плагина rus2lat
– установка ЧПУ на "дата и время"
– создание новой рубрики
– создание поста в эту рубрику.
Что мы имеем:
1. На основной странице показывается, что в рубрике есть 1 пост.
2. При тыканьи в рубрику – постов не найдено.
Сидя в админке, в управлении записями фильтрую по рубрике – записей не найдено.
Убираю фильтр по рубрике – запись есть.
Проблема однозначно понятна, пост не привязывается в рубрике, хотя в управлении постом – галка в нужном месте стоит.
Пошел копать код.
Ситуация понятна.
WordPress хочет кодировку БД utf-8, только так и не иначе (во всяком случае при хардкоде кодировки html вывода в php-коде).
Но UTF-8 можно принудительно выставлять через set-names начиная с версии 4.1 MySQL.
Варианты:
1. Выводить кодировку php в общую переменную. Тогда работа с БД будет корректна.
2. Поиметь MySQL версии 4.1 и выше.
3. Перекодировать на лету.
4. Посмотреть сборку Макса, в wp-config-sample-win1251.php которой есть такие нехорошие слова:
# ЕСЛИ КОДИРОВКА БАЗЫ ДАННЫХ ОТЛИЧАЕТСЯ ОТ КОДИРОВКИ БЛОГА
# разрешить преобразовывать тексты блога в кодировку базы данных
# например если база данных работает в WINDOWS-1251, а блог в UTF-8
define(‘MAXSITE_DB_CONVERT’, true); # true – разрешить, false – запретить
# кодировка базы данных для автоматического перекодирования (работает если MAXSITE_DB_CONVERT=true)
define(‘MAXSITE_DB_CHARSET’, ‘WINDOWS-1251’); # WINDOWS-1251 или UTF-8
Ага. Типа все украдено до нас. …
😀
Вроде бы все просто, ан нет … не получается …
Не работает перекодировка.
Ладно, будет время … покопаю …
Надеюсь, Вы догадались, что эти опции работают только в сборке Макса? 🙂
Ну блин не ламер же.
Скачал сборку Макса.
2.3.1
Апдейт 2.3.2
Апдейт 2.3.3
Как в базу писался юникод, так и пишется …
Ковырялся в коде по разному, с трейсами.
Функции все есть (и iconv и mb_convert_encoding).
Трейсы вроде верную инфу выводят, показывают, что перекодировка работает, в а базе один хрен …
Вот блин. А ближайший мускул с нормальной версией БД живет в другой сети. Если повешу на него, то грузится все будет через Ж.