Пост относится к рубрике, но при просмотре рубрики постов не найдено

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

ЧПУ следует тщательно проверить

А что там проверять?
Переключил на стандартный вариант "дата и время".
Больше никаких телодвижений не предпринималось.

как видо, с "дата и время" всё работает отлично. вывод? правильно.. и ещё, rus-to-lat вам бы отнюдь не помешал

В смысле все работает отлично?
У меня то как раз и не работает отлично, иначе я бы топик не открывал.

Даже в админке, в управлении рубриками показывает количество записей отличных от нуля, при кликаньи туда – "записи не найдены".

P.S. Зачем плагин rus2lat?

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).
Трейсы вроде верную инфу выводят, показывают, что перекодировка работает, в а базе один хрен …

Вот блин. А ближайший мускул с нормальной версией БД живет в другой сети. Если повешу на него, то грузится все будет через Ж.

Anonymous
Отправить
Ответ на: