RewriteCond %{QUERY_STRING} =t=190&PAGEN_1=10 [OR] RewriteCond %{QUERY_STRING} =PAGEN_1=10&t=190 RewriteRule ^rezultaty/$ /$0?PAGEN_1=10 [R=301,L]
Или
RewriteCond %{QUERY_STRING} (?:^|&)t=190(?:&|$) RewriteCond %{QUERY_STRING} (?:^|&)(PAGEN_1=10)(?:&|$) RewriteRule ^rezultaty/$ /$0?%1 [R=301,L]
RewriteRule ^([^/]+/)\d+-([^/]+\.html)$ /$1$2 [R=301,L]
.htaccess в папке folder.
RewriteEngine On RewriteCond %{DOCUMENT_ROOT}/folder/$1.php -f RewriteRule ^(.+)/$ $1.php [L]
Ага, прям тут и накидаем.
string pattern = @"(value=....)"; Regex regex = new Regex(pattern); // Достигаем того же результата что и в предыдущем примере, // используя метод Regex.Matches() возвращающий MatchCollection foreach (Match match in regex.Matches(input)) { Console.WriteLine(match.Groups[1].Value); }
Сократить этот кусок до одной строки:
Console.WriteLine(Regex.Match(input, @"value=""(\d+)").Groups[1].Value);
Тут используется шаблон с GET параметрами и директива Redirect, которая относится к mod_dir.
Проблема в том, что mod_dir сравнивает с шаблоном только /path, а не весь /path?query.
Средствами mod_rewrite это можно сделать так
RewriteEngine On RewriteCond %{THE_REQUEST} " /index\.php\?option=com_content&view=article&id=6&Itemid=17 " RewriteRule ^ http://www.ivsatin.ru/tekhnologiya.html? [R=301,L]
или так
RewriteEngine On RewriteCond %{QUERY_STRING} =option=com_content&view=article&id=6&Itemid=17 RewriteRule ^index\.php$ http://www.ivsatin.ru/tekhnologiya.html? [R=301,L]
Ну и ставить это выше остальных RewriteCond и RewriteRule.
RewriteCond %{THE_REQUEST} " /question\.php\?page=(\d+)" RewriteRule ^question\.php$ /question-%1.html? [R=301,L] RewriteRule ^question-([0-9]+)\.html$ /question.php?page=$1 [L]
Или так
RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{QUERY_STRING} ^page=(\d+) RewriteRule ^question\.php$ /question-%1.html? [R=301,L] RewriteRule ^question-([0-9]+)\.html$ /question.php?page=$1 [L]
RewriteEngine On RewriteRule ^([^.]+)$ /$1.html [L,R=301]
rupixel, для исключения index.htm можно добавить в шаблон негативную опережающую проверку (?!index\.htm).
RedirectMatch 301 ^/(?!index\.htm).+\.htm$ $0l RewriteRule ^(?!index\.htm).+\.htm$ /$0l [R=301,L]
Или добавить дополнительный RewriteCond.
RewriteCond %{REQUEST_URI} !^/index.htm RewriteRule ^.+\.htm$ /$0l [R=301,L]
Redirect 301 "/старая ссылка/" httр://мой.сайт/новая-ссылка/
RewriteEngine On RewriteRule "^старая ссылка/" httр://мой.сайт/новая-ссылка/ [R=301,L]
RedirectMatch 301 ^.+\.htm$ $0l
RewriteEngine On RewriteRule ^.+\.htm$ /$0l [R=301,L]
Если использовать флаг QSA, то пренаправление будет с ?a=b на ?metka=0&a=b
RewriteCond %{QUERY_STRING} !(^|&)metka= RewriteCond %{REQUEST_URI} !^/$ RewriteCond %{REQUEST_URI} !^/category/ RewriteRule ^.*$ /$0?metka=0 [R=301,L,QSA]
Если нужно с ?a=b на ?a=b&metka=0
RewriteCond %{QUERY_STRING} !(^|&)metka= RewriteCond %{REQUEST_URI} !^/$ RewriteCond %{REQUEST_URI} !^/category/ RewriteCond %{QUERY_STRING}&metka=0 &*(.+) RewriteRule ^.*$ /$0?%1 [R=301,L]
$text = '<div id="block" class="block">Текст "содержащий" кавычки.</div>'; $text = preg_replace('/<[a-z][^>]*>(*SKIP)(?!)| "/i', ' «', $text); $text = preg_replace('/<[a-z][^>]*>(*SKIP)(?!)|"[ .,;:]/i', '» ', $text);