SunDrop

SunDrop
Рейтинг
34
Регистрация
28.12.2005
Должность
Руководитель интернет холдинга
Интересы
велобайк, парашютный спорт
bonzaza:
функция пробегающаяся по массиву с перечислением всех его значений внутри

Ладно! Юмора не поняли. Задам вопрос по другому!

ЗАЧЕМ ЭТА КОНСТРУКЦИЯ?

Klopopryg:
Огромное спасибо всем!

Обращайся еще :)

joost:
А если так
header("HTTP/1.1 404 Not Found");
include ("404.php");
exit();

Работать будет. Т.е. выдаст страницу. Но я сомневаюсь, что это именно то, что тебе нужно в конечном итоге.

joost:
КАк правильно?

А что тебе нужно?

Просто НЕ понял из твоего вопроса какую конечную цель ты приследуешь?

Проиндексировать 404-ую страницу?

Нет. Не будут ее поисковики индексировать!

А если правильно склеить одинаковый контент, то читай тут:

/ru/forum/comment/1582514;postcount=3

joost:
header("HTTP/1.1 404 Not Found");

Хммм... Давай оттолкнемся от целей. (надеюсь я их правильно понял из сообщения)

Если цель Удалить из индекса page1.php?id=123, а вместо ее поставить в индекс page1.php?id=123&br=321, то используй 301 редирект, а не header-404

Как прописать редирект. Различные варианты редиректа:

1. Простой редирект:

Redirect 301 / http://www.domainname.ru/

Ставится в файле .htaccess или httpd.conf для Apache, как описано выше. Первый "/" означает, что всё с верхнего уровня сайта, включая все подкаталоги, будет переадресовано (не забывайте поставить последний "/").

Если Вы хотите переадресовать только страницу, сохранив PR старой страницы, можно сделать так:

Redirect 301 /old/old.htm http://www.you.ru/new.htm

где:

/old/old.htm - путь и имя старой страницы
http://www.you.com/new.htm - новый путь и новое имя перемещенной страницы

2. Использование mod_rewrite:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yourdomain\.ru
RewriteRule ^(.*)$ http://www.yourdomain.ru/$1 [R=permanent,L]Прописывается в файле .htaccess.

3. Редирект с регулярным выражением:

RedirectMatch 301 (.*) http://www.yourdomain.ru$1

Прописывается в файле .htaccess.

(.*) RedirectMatch фактически соответствует регулярным образцам выражения после доменного имени. Таким образом, нельзя выполнить соответствие образца на ^/yourdomain.ru. Однако, можно преобразовать страницы с использованием .html расширения к файлам того же самого названия, но с .php расширением:

RdirectMatch 301 (.*)\.html$ http://www.yourdomain.ru$1.php

Если необходимо сделать различное перенапрваление для отделный страниц, можно использовать следующее:

RedirectMatch Permanent ^/html/resources.html$ http://www.newdomain.com/resources.php
RedirectMatch Permanent ^/html/other_page.html$ http://www.newdomain.com/other_page.php
RedirectMatch Permanent ^/(.*)$ http://www.newdomain.com/"

RedirectMatch Permanent" - это эквивалент "RedirectMatch 301", строска с "*(Wildcard)" должна быть последней в этом списке.

4. Редирект на PHP:

header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.newdomain.ru/newdir/newpage.htm");
exit();

Естественно, надо создать страницу, при обращении к которой и будет происходить Редирект, и разместить её на сервере. И лучше укажите HTTP/1.1 (а не HTTP/1.0 или HTTP/0.9, которые не поддерживают виртуальный хостинг)

5. Редирект на ASP:

<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.newdomain.ru/newdir/newpage.asp"
response.end
%>

Размещение аналогично п.4.
Код по п.4. и 5. должен быть с самого начала страницы.

6. Редирект с помощью meta refresh::

<meta http-equiv='refresh' content='0; url=http://new.domain.ru'>

где 0 – задержка переадресации в секундах, new.domain.ru –страница, куда переадресуем. Некоторые броузеры не поддерживают META REFRESH.

7. Редирект с помощью JavaScript:

Вот уж где нет предела творчеству и возможности "по изголяться". Варианты переадресации на JavaScript чаще реализуются с использованием функции setTimeout('функция', задержка).

Например, автоматически сделать Click на кнопке "Submit" формы "searchform" через 0.1 сек после загрузки кода:

setTimeout('document.forms["searchform"].Submit.click()', 100);

На кнопку "Submit" можно повесить любое действие, например, открыть новый url в этом окне. Кстати такое редиректы чаще встречаются при организации Дорвеев(DorWay) - броузер Пользователя будет переадресован на другую страницу, а поисковый робот, который "не понимает" JavaScript, будет индексировать ЭТУ страницу, недоступную Пользователю. На ней Дорвейщики размещают текст, напичканный "нужными" ключевыми словами.

Просто переадресовать на другую страницу - вставить после <body> код на JavaScript:

location="http://www.new.domain.ru";
или
document.location.href="http://www.new.domain.ru";
или
window.location.reload("http://www.new.domain.ru");
или
document.location.replace("http://www.new.domain.ru");

В последнем случае уже нельзя будет вернуться на страницу выполнившую переадресацию, т.к. адрес страницы стирается из history (что часто и требуется).

Если нужна задержка по времени, можно оформить location="http://www.new.domain.ru"; в виде функции и вставить её в setTimeout('функция()', задержка_в_милисек);.

Как разные поисковые системы могут отнестись к такому редиректу, остаётся на их «совести», поэтому для описываемых здесь целей лучше их не применять. Большинство броузеров отработает такую переадресацию как положено, при этом пользователю можно показать дополнительную информацию почему его перемещают по другому адресу.

Поскольку для переноса PR старого сайта(страницы) на новый, может потребоваться несколько недель или месяцев, не уничтожайте старое доменное имя, сайт или страницу, пока это не произойдёт.

Пункты 6 и 7 для SEO не приемлимы. Пользуйся ими только если понимаешь что это такое и зачем оно нужно именно в данном конкретном случае реализации.

И еще. Если нужно чтобы страница page1.php не попала в индекс - запрети ее индексацию.

Покуда у тебя используются ссылки вида page1.php?..... писать в robots.txt Disallow: page1.php не рекоммендуется.

Вместо этого сделай:

Как не индексировать страницу:
Либо отдай ошибку 404
Либо используй мета-тега robots со значением noindex
Либо, если уже есть подобный повторющийся контент, поставь 301 редирект с этой страницы.
emas:
foreach($lo as $g => $lo )
{
}

Можно поинтересоваться? А что это такое????

Diversant:
... Да все это работает если пассворд не стоит на файле pdf

Даже если стоит :)

Программка Advanced PDF Password Recovery (http://www.elcomsoft.com/apdfpr.html), из-за которой её автор отсидел срок в американской тюрьме.

Klopopryg, тебе это локально?

Или чтобы скрипт автоматически переводил?

Если локально, то http://www.tinystocks.com/pdf2doc.html

или распознать .pdf в FineReader'е и из него сохранить в Word.

А если на лету, то попробуй покопаться здесь:

Утилита для конвертации PDF-файлов в HTML и XML форматы. и здесь: CATdoc для Word, Excel

И вот может поможет Конверторы под UNIX

Creator, по ошибке не туда написал.

Примерчики скинешь? Довольно интересно.

Зингельшухер:
Да это он

Что ли провести завтра лик без? Сегодня уже нет ни времени ни сил.

Всего: 212