Сей баг можно объявить фичей :)
Там изначально в шаблоне кусок $\s+ захватывал любое количество подряд идущих пробелов и переносов строк.
В результате текст обрабатывался как если бы пустых строк не было вовсе.
Решается разделением блоков строками с любым символом.
Например:
консалт строй плюсконсалт строй;консалт медиа группконсалт медиа;консалт
Вообще, такое поведение легко исправить, заменив $\s+ на \r?\n. Тогда поиск будет останавливаться на пустых строках, как положено.
<html><body><textarea id="t1" rows="20" cols="60">Исходный набор</textarea><br><button id="btn1" onClick="proc()">Go</button><br><br><textarea id="t2" rows="20" cols="60">Результат</textarea><script>function proc(){ str = document.getElementById('t1').value; pos = 0; res = []; do { i = 0; str = str.substr(pos).replace(/^((.+) (?:.+)$(?:\r?\n\2 (?:.+)$)*)\r?\n\2(?= *$)/m, function(m0, m1, m2, offset, s){ i = 1; pos = offset + m1.length; res.push(s.substr(0, pos)); regexp = new RegExp("^" + m2.replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1'), 'mg'); return m0 + m0.replace(regexp, '').trim().replace(/(^|\s+)-?/g, ' -'); }); } while (i); document.getElementById('t2').value = res.join('') + str;}</script></body></html>
Вариант с RewriteRule тоже рабочий только нужно ставить сразу после RewriteEngine On.
Для RewriteRule порядок следования правил имеет значение.
Если ставить в конец после
RewriteRule .* index.php
то редирект не сработает.
Кеш браузера сбросьте.
Использовать не Redirect а RewriteRule.
Вставлять сразу после RewriteEngine On
RewriteRule ^load/all_files/games/1$ /games/? [R=301,L]
Директива Redirect модуля mod_alias предназначена для перенаправления не отдельных страниц, а всего содержимого каталогов.
Пример Redirect /old /new
Результат работы:
/old => /new
/old/category => /new/category
/old/category/page => /new/category/page
Redirect 301 /раздел/236-категория /раздел/236-категория/5438-статья
Произойдет зацикливание
/раздел/236-категория/5438-статья => /раздел/236-категория/5438-статья/5438-статья
Использование RedirectMatch позволяет дейтсвовать более избирательно.
RedirectMatch 301 /раздел/236-категория/?$ /раздел/236-категория/5438-статья
Шаблон RewriteRule ^/раздел результата не даст потому что сравнение будет с адресом без начального слеша.
Вам все верно посоветовали RewriteRule ^раздел.
Подробнее тут http://habrahabr.ru/company/sprinthost/blog/129560/
http://habrahabr.ru/post/210388/
Поиск дублей по изображениям товаров.
<html><body> <textarea id="t1" rows="20" cols="60">Исходный набор </textarea> <br> <button id="btn1" onClick="proc()">Go</button> <br><br> <textarea id="t2" rows="20" cols="60">Результат </textarea> <script> function proc(){ str = document.getElementById('t1').value; pos = 0; res = []; do { i = 0; str = str.substr(pos).replace(/^((.+) (?:.+)$(?:\s+\2 (?:.+)$)*)\s+\2(?= *$)/m, function(m0, m1, m2, offset, s){ i = 1; pos = offset + m1.length; res.push(s.substr(0, pos)); return m0 + ' -' + m0.replace(new RegExp("^"+m2,'mg'), '').trim().replace(/\s+-?/g, ' -'); }); } while (i); document.getElementById('t2').value = res.join('') + str; } </script> </body> </html>
Или так
<textarea id="t1" rows="20" cols="60">Исходный набор </textarea> <br> <button id="btn1" onClick="proc()">Go</button> <br><br> <textarea id="t2" rows="20" cols="60">Результат </textarea> <script> function proc(){ lines = document.getElementById('t1').value.replace(/^\s*(.+)\s+\S+\s*$(\s*\1\s+\S+\s*$)*\s*\1(?=\s*$)/mg, function(m0, m1){ return m0 + ' -' + m0.replace(new RegExp(m1,'g'), '').trim().replace(/\s+/g, ' -'); }); document.getElementById('t2').value = lines; } </script>
<script.*?</script>
И не забыть поставить галку чтобы точка совпадала и с переносами строк.
/ru/forum/comment/13267190;postcount=8
У меня Notepad++ v6.3.3
Попробуйте в фильтр поставить * или вообще оставить пустым