Значит, скорее всего, вашему форуму кто-то "помог".
Проверьте его для начала каким-нибудь "айболитом" или восстановите из бэкапа.
Без сообщений об ошибках сложно посоветовать что-то ещё.
Попробуйте включить
php_flag log_errors 1
Тогда ошибки будут записываться в лог веб-сервера.
Если, конечно, форум не переопределяет этот параметр :)
Для верности, если есть доступ к конфигурации виртуального хоста, пропишите эти директивы в нём, но не "php_flag", а "php_admin_flag".
php_admin_flag display_errors 1
php_admin_flag display_startup_errors 1
php_admin_flag log_errors 1
php_admin_value error_log "/path/to/your/php_error.log"
php_admin_value error_reporting "E_ALL & ~E_NOTICE"
Тогда у движка не будет шансов что-то переопределить и утаить :)
Скорее всего, в этом случае срабатывают другие правила .htaccess
Потому что, ещё раз повторюсь, ваше правило (из первого сообщения) должно работать в обоих случаях. В него не нужно ничего добавлять.
Пример на PHP
$str="test/hello-world_5/hello-world_10/"; if (preg_match("#^test/[^_]+_(\\d+)/[^_]+_(\\d+)/$#", $str, $m)) { print_r($m); }
Результат:
Array ( [0] => test/hello-world_5/hello-world_10/ [1] => 5 [2] => 10 )
Вы имели в виду дефис? :)
Так ваш вариант должен работать. Разве нет?
1) Возможно, почему нет.
2) Это уже вопрос к сеошникам.
find /path/to/dir/ -mtime -N
Вместо N пишем, сколько дней назад файл изменялся или был создан.
Помимо кодировки самой БД есть ещё кодировка соединения с БД и кодировка виртуального хоста.
Чтобы всё везде было ровно, эти три кодировки должны совпадать.
У вас может быть база в utf-8, при подключении используется cp1251, а виртуальный хост в cp1252.
Отсюда косяки с некоторыми кириллическими буквами на сайте, и всё в закорючках в самой базе.
На любом более-менее вменяемом хостинге должно быть ограничение на отправку писем.
Уточните эту информацию у вашей службы поддержки.
Примерно так:
SELECT *, MAX(`date`) FROM `messages` WHERE `user1`='$user_id' OR `user2`='$user_id' GROUP BY CONCAT(LEAST(`user1`,`user2`),'-',GREATEST(`user1`,`user2`))
Этот CONCAT используется для того, чтобы создать уникальный идентификатор для диалогов между всеми парами пользователей. Точнее, парами пользователя $user_id с другими пользователями.
Например, у всех сообщений между пользователем 123 и пользователем 456 будет вычислен некий уникальный id (вида "123-456"), по которому мы группируем и берём последнее (по дате) сообщение.
Чтобы снизить вычислительную нагрузку, целесообразнее добавить в таблицу ещё один столбец и записывать в него такой идентификатор в момент добавления сообщений.
Майсиквел? Хмм… никогда о такой не слышал. Наверное, это действительно какая-то ненормальная СУБД.
Live Preview currently has a few other important limitations:
It only works with desktop Chrome as the target browser.