потому что при наличии этого условия у Вас находится максимум для каждой строки в таблице s1 и фактически в результирующую выборку попадают все комменты, а не только последние. И хоть какой-то результат Вы получаете только благодаря "ORDER BY DaTime DESC LIMIT 50".
Попробуете сделать Ваш запрос через phpmyadmin и Вы это увидите.
А добавление "AND Comment1 != ''" просто утяжеляет и без того тяжелый запрос!
cryptex, для приведенного Вами примера это работает (проверил)
но вот (<p>.*?<\/p>){4} уже "не прокатывает" - нет в примере четырех подряд идущих "<p>.*</p>" "не разбавленных" другим текстом (между третьим и четвертым параграфом простой текст).
А вообще здорово! не ожидал что квантизатор работает с подстрокой!
Эта функция позволит вам произвести замену текста по регулярному выражению. Здесь производится поиск по регулярному выражению pattern в тексте subject, и каждый найденный фрагмент текста заменяется на текст, заданный в replacement. Задание необязятельного параметра limit позволит ограничить количество заменяемых фрагментов в тексте.
1. проверьте, нет ли у Вас выше добавленной строки в .htaccess после строки
RewriteEngine on
еще и строки
RewriteEngine off
(встречается такое, отключают mod_rewrite в середине .htaccess)
2. может Вы добавляете строку в конец файла, а выше уже происходит реврайт (изменение) адреса "первый_адрес" одним из правил RewriteRule
попробуйте вставить новое правило сразу после RewriteEngine on (до появления первых RewriteCond и RewriteRule)
3. может у Вас сайт настроен так, что статика отдается не сервером Apache, а другим сервером (например NGIX), стоящим перед Apache и передающим ему только запросы динамического контента.
в файле .htaccess встречал такое
Header set Content-Encoding: gzip
(это в секции <Files *.gz></Files>, но не всегда работает, кажется требуется что-то настроить в конфигурации сервера)
Возможно подобное "прокатит" и с Content-Language
Asar, уберите из запроса
"AND s1.Photo_Id = s2.Photo_Id"
"AND s1.Object_Id = s3.Object_Id"
"AND s1.Topic_Id = s4.Topic_Id"
потому что при наличии этого условия у Вас находится максимум для каждой строки в таблице s1 и фактически в результирующую выборку попадают все комменты, а не только последние. И хоть какой-то результат Вы получаете только благодаря "ORDER BY DaTime DESC LIMIT 50".
Попробуете сделать Ваш запрос через phpmyadmin и Вы это увидите.
А добавление "AND Comment1 != ''" просто утяжеляет и без того тяжелый запрос!
yaltabes, добавьте в файл .htaccess в корневом каталоге сайта
Если нужно убирать только с числом 2, замените "[0-9]+" на "2"
забыли
RewriteCond %{QUERY_STRING} .
Да все верно, иначе будет зацикливать
Правильно так
Строка
RewriteEngine on
не относится конкретно к данному коду и просто должна присутствовать в .htaccess до появления первых RewriteCond и RewriteRule
тогда так
Попробуйте использовать не Comment1, а
s2.Comment1
s3.Comment1
s4.Comment1
(<p>.*?<\/p>){3} - ровно 3
cryptex, для приведенного Вами примера это работает (проверил)
но вот (<p>.*?<\/p>){4} уже "не прокатывает" - нет в примере четырех подряд идущих "<p>.*</p>" "не разбавленных" другим текстом (между третьим и четвертым параграфом простой текст).
А вообще здорово! не ожидал что квантизатор работает с подстрокой!
Обратите внимание на синтаксис preg_replace (четвертый параметр)
Функция preg_replace()
Синтаксис:
mixed preg_replace (mixed pattern, mixed replacement, mixed subject [, int limit])
Эта функция позволит вам произвести замену текста по регулярному выражению. Здесь производится поиск по регулярному выражению pattern в тексте subject, и каждый найденный фрагмент текста заменяется на текст, заданный в replacement. Задание необязятельного параметра limit позволит ограничить количество заменяемых фрагментов в тексте.
1. проверьте, нет ли у Вас выше добавленной строки в .htaccess после строки
RewriteEngine on
еще и строки
RewriteEngine off
(встречается такое, отключают mod_rewrite в середине .htaccess)
2. может Вы добавляете строку в конец файла, а выше уже происходит реврайт (изменение) адреса "первый_адрес" одним из правил RewriteRule
попробуйте вставить новое правило сразу после RewriteEngine on (до появления первых RewriteCond и RewriteRule)
3. может у Вас сайт настроен так, что статика отдается не сервером Apache, а другим сервером (например NGIX), стоящим перед Apache и передающим ему только запросы динамического контента.
4. хз (хотел бы знать)