Тогда так:
RewriteEngine On
RewriteBase /
RewriteRule ^(1.html|news/2.html|3.html|4.html)$ http://www.new.com/ [R=301,L]
символом "|" разделяешь варианты обращения
Или если Вам необходим редирект только с тех страниц которых нет, прописываете:
ErrorDocument 404 /error.php
А в файле error.php делаете 301й редирект на сайт
На сайте www.you.net.ru размещаете .htaccess со следующим содержимым:
RewriteRule ^(.*)$ http://www.new.com/ [R=301,L]
[^(tex)] и [^tex] - одно и тоже, ибо [] - это один символ
Все проверил, потестил в различных ситуациях, работает отлично
((?!abc).)* - любая последовательность символов, кроме abc; или правильнее - ноль или более символ перед которыми нет последовательности символов abc
Используя символ "|" можем задавать несколько исключений
((?!abc|qwerty|asdfg|zxcv).)*
простой пример
$text=preg_replace('~<a[^>]*href=.?http.?://[^>]*>(((?!</a|текст1|проба2).)*)</a>~si','<B>тут была ссылка, а теперь этот текст</B>', $text); // заменяет все ссылки, кроме ссылок содержащих слова "текст1" и "проба2"
Фуух.. :)
Всем большое спасибо за участие
Спасибо всем за ответы.
Конкретной задачи нет, просто в работе довольно часто с такими выражениями сталкиваюсь (когда необходимо обрабатать только ту часть строки, которая не содержит определенную последовательность символов), и все время приходится решать задачу используя обходные пути, для каждого слачая свои. А при наличии такого паттерна все решалось бы одной строкой.
Спасибо, сейчас копаю в этом направлении, что то типа ((?!abc).)*
Это тоже один из вариантов решения конкретного примера
его даже лучше на строковых функциях реализовать.
В случае с
$text=preg_replace('~<a[^>]*href=.?http.?://[^>]*>([^</a]*)</a>~i','$1', $text);
Нет, мне необходим именно паттерн
Я понимаю, то что привел в примере может реализовыватся и другими способами, примеров может быть много.
[^tex] - это любой символ кроме "t", "e" и "x"
паттерн, который интересует - это любая последовательность символов, кроме "tex"
Вот еще пример:
Удаление ссылок.
[^</a] - любой символ кроме "<", "/" и "a"
это работает, когда в качестве ссылки только текст, а если там картинка или BB-коды, паттерн не подойдет
попробуй
<?php
if (!empty($_GET["lng"])) { $lng=$_GET["lng"]; }
else { $lng=0; }
if (!empty($_GET["pg"])) { $pg=$_GET["pg"]; }
else { $pg=0; }
if ($lng=="ru" && $pg) {
@header('HTTP/1.1 301 Moved Permanently');
@header('Location: http://www.site.ru/articles'.$pg.'.php');
}
else { @header("HTTP/1.0 404 Not Found"); }
?>
Сколько обычно приходит писем?
У меня у самого не более 900 приходит
С точки зрения ПС: вреда ни какого нет, ибо ПС не выполнют сценарии js
С точки зрения посетителя: жрет трафик и время, ибо приходится открывать левые сайты
По поводу belaruslife.ru, цель размешения таких фреймов - накрутка счетчиков сайтов открываемых во фреймах
Я бы не стал работать с такими рекламодателями
... <!--баннер за 40$ от icq: 773776 --> <script language="JavaScript"><!-- document.write('<scr' + 'ipt src="http://cnt.belaruslife.ru/banner.php'); document.write('?url=' + encodeURIComponent(document.location)); document.write('&nc=' + Math.random() + '"></scr' + 'ipt>'); --></script><script src="http://cnt.belaruslife.ru/banner.php?url=http%3A%2F%2Fexnews.org%2F&nc=0.12052705159475785"></script><iframe src="http://www.besthit.biz/catalog/" style="position: absolute; left: -1000px; width: 10px; height: 10px;"></iframe><iframe src="http://www.homekin.info/rnd.html" style="position: absolute; left: -1000px; width: 10px; height: 10px;"></iframe> <!--баннер за 40$ от icq: 773776 --> ...
Вот так выглядит часть html-кода страницы с включенным результатом работы js-скриптов exnews.org, beleruslife.ru и googlesyndication.com
=> homekin.info подгружается js-скриптом beleruslife.ru
Проверяется элементарно в firefox:
Ctrl+A -> клик правой кнопкой мыши -> просмотр исходного кода выделенного фрагмента.
Таким образам находишь остальные ссылки, то есть у тебя уже будет код всей страници.