В следующий раз постарайтесь внимательнее формулировать вопросы
Из Вашего первого вопроса вытекает вывод что Вам нужно перенаправить с
site.ru/all_keys_for_eset.rar на site2.ru/all_keys_for_eset.html
С учетом поправки должно быть так
RewriteRule ^первый_адрес$ http://site2.ru/второй_адрес [R=301,NC,L]
реальные адреса подставьте сами (в строке "первый_адрес" "http://site.ru/" убирается и перед точкой добавляйте "\", типа "all_keys_for_eset\.rar")
Попробуйте добавить в файл .htaccess в корневом каталоге сайта site.ru
RewriteRule ^(file)\.rar$ http://site2.ru/$1.html [R=301,NC,L]
Модуль mod_rewrite должен быть включен, т.е. где-нибудь выше добавленной строки должна быть строка
RewriteEngine on
Если старая страница раньше была в индексе, а теперь из индекса исчезла, есть вероятность что поисковик учел Ваш редирект (но возможно страница выпала из индекса и по другой причине).
Быть более уверенным в этом можно, найдя в логах сервера запрос от поисковика этой страницы с 301 редиректом в ответе.
Плохо то, что у Вас на самом сайте присутствуют ссылки и вида "/enciklopedia/vibiraem/329" и вида "/enciklopedia/329", отдающие одинаковый контент.
Попробуйте избавиться от ссылки "/enciklopedia" в левом меню, заменив ее на сайте на "/enciklopedia/vibiraem"
А от дублей страниц, которые поисковики уже проиндексировали придется избавляться 301 редиректами с помощью модуля mod_rewrite в .htaccess
RewriteRule ^enciklopedia$ http://%{HTTP_HOST}/enciklopedia/vibiraem [R=301,NC,L]RewriteRule ^enciklopedia/([0-9]+)$ http://%{HTTP_HOST}/enciklopedia/vibiraem/$1 [R=301,NC,L]
В .htaccess добавить для главной
RewriteCond %{QUERY_STRING} ^$RewriteRule ^index.php$ http://%{HTTP_HOST}/ [R=301,NC,L]
для страниц со строкой запроса (вида "/?.....")
RewriteCond %{QUERY_STRING} .+RewriteRule ^$ http://%{HTTP_HOST}/index.php [R=301,QSA,L]
Можно еще перед каждой парой строк добавить
RewriteCond %{ENV:REDIRECT_STATUS} ^$
чтоб не применялось правило, если уже произошло какое-то преобразование в строках выше по .htaccess
Для адреса "/index.php?action=content&id=1&blog=123" переменная $_SERVER['REQUEST_URI'] содержит всю эту строку, а не только "/index.php"
$text='<img alt src = http:/bla-bla.img border=0 alt = "картинка для вставки" style=\'margin:10px;border-bottom:30px #b0b0b0 solid;\'>';preg_match_all('#["\']?[\w]+["\']? *= *(?:(?:[^ >"\']+(?= |$))|(?:["\'][^>]+["\']))#iU', $text, $matches);print '<pre>';print_r($matches);print '</pre>';
Array
(
[0] => Array
[0] => src = http:/bla-bla.img
[1] => border=0
[2] => alt = "картинка для вставки"
[3] => style='margin:10px;border-bottom:30px #b0b0b0 solid;'
)
Попробуйте добавить в файл .htaccess в корне сайта
RewriteCond %{ENV:REDIRECT_STATUS} ^$RewriteRule ^index\.php http://%{HTTP_HOST}/ [R=301,L]
Может добавить еще одно условие, проверяющее строку запроса (все то, что после ?)
чтобы начиналась с "mod="
RewriteCond %{QUERY_STRING} ^mod=RewriteCond %{ENV:REDIRECT_STATUS} ^$RewriteRule ^index\.php http://%{HTTP_HOST}/ [R=301,L]
В любом случае модуль mod_rewrite должен быть включен, т.е. выше добавляемых строк должна присутствовать строка:
Назначьте для контейнера флешки (embed или object) другие ширину и высоту (очень желательно с соблюдением пропорций) и все будет ОК.
Приходилось сталкиваться с чем-то подобным.
Через браузер запускался PHP-скрипт на сайте, делающий множество небольших однотипных операций, суммарное время выполнения которых превышало десятки минут.
Решение было в том, что PHP-скрипт после каждой операции проверял время своей работы и если оно превышало некоторое значение (я задавал 10 секунд), отправлял в браузер javascript, отображающий линейку прогресса и выполняющий вызов того же PHP-скрипта с указанием точки остановки.
В результате каждый раз PHP-скрипт начинал на сайте работу не с начала, а с того места, на котором остановился.
А после окончательного завершения PHP-скрипт отправлял в браузер javascript с сообщением о завершении работы.
(1?.|20) означает
единица (которой может и не быть)+любой символ
(т.е. без единицы от 0 до 9 и то же с единицей - от 10 до 19)
или 20