На первый взгляд всё работает http://sandbox.onlinephpfunctions.com/code/35b8eac340c696d9dbccf358d095e72bea47dbd4
Нужен пример текста, где не работает.
Еще хотелось бы узнать какая там версия библиотеки для работы с регулярными выражениями и какая версия PHP.
echo "PHP ", PHP_VERSION, ", PCRE ", PCRE_VERSION, "\n";
Сразу после preg_replace можно добавить вызов preg_last_error() и посмотреть номер ошибки.
var_dump( preg_last_error() );
Если текст большой возможно превышение лимитов pcre.backtrack_limit или pcre.recursion_limit.---------- Добавлено 29.10.2016 в 10:16 ----------Вот ещё вариант
$text = preg_replace("/<h2.*?<\/h2>(*SKIP)(?!)|(?<!\p{L})\Q{$value['faq_menu']}\E(?!\p{L})/uis", '<a href="/faq/'.$value['faq_url'].'/">\0</a>', $text);
location / { rewrite ^(.*)$ http://newsite.ru/? permanent; }
Или так
location / { return 301 http://newsite.ru/; }
Smirnof, там всё нормально.
Там нужен адрес относительно корня сайта или относительно той папки, где расположен файл .htaccess https://habrahabr.ru/company/sprinthost/blog/129560/
Т.е. должно быть что-то вроде
RewriteRule ^sitemap\d*\.xml$ base/site.ru/$0 [L]
RewriteEngine on RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] RewriteRule ^sitemap\d*\.xml$ base/%1/$0 [L]
Had, нужно хоть немного локализовать проблему.
Запускаете сканер на Linux или Windows и какая версия PHP?
Если попробовать сканировать не весь сайт сразу, а запускать сканирование отдельных папок, чтобы выяснить падает просто при большом количестве файлов или при сканировании конкретной папки или файла.
RewriteCond %{THE_REQUEST} " /index\.php\?\S" RewriteRule ^ /? [R=301,L]
RewriteEngine On RewriteRule ^aaa$ /aaa/index.html [L] DirectorySlash Off
Достаточно чуть доработать вариант предложенный Ladycharm. Нужно делить не по "<" а "<h2" и ограничить количество получаемых частей.
$arr = explode('<h2', $str, 3); $arr[1] .= "<div></div>\n"; echo implode('<h2', $arr);
Еще можно регулярным выражением
echo preg_replace('/<h2.+?\K<h2/is', "<div></div>\n\\0", $str, 1);
RewriteCond %{ENV:HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} =www.site.ru [OR,NC] RewriteCond %{ENV:HTTPS} !on RewriteRule ^(.*)$ https://site.ru/$1 [L,R=301]
"([^\\"]|\\.)*"
https://regex101.com/r/iK1gG9/1