Перейти к контенту

[1.x.x]Конвертор PHP -> HTML


urisoft

Рекомендуемые сообщения

вот примерно такой код любят поисковики

http://vcl.ru/arxiv/

http://vcl.ru/arxiv/forum3.html

 

Добавлено:

Нагрузка точно такая же... (практически)

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 137
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Valera

вот примерно такой код любят поисковики

Только плохо, что с поиска по такому коду приходят не на сам форум, а на проиндексированные страницы. Что не есть одно и тоже. Да и выглядит это не так как сам форум.

Ну вобщем я уже писал почему я этот конвертер сделал, а не стал пользоваться твоим. Однако сколько людей столько и мнений. Полезны оба кода. :D

Ссылка на комментарий
Поделиться на других сайтах

Valera ни факт, мод реврайт все же грузит процессор сервера. Ну и на всяких бесплатных серверах, могут попросить и убраться (http://www.livejournal.com/community/ru_php/94159.html?thread=685519#t685519)

 

Все углубленно читаем:

http://detail.phpclub.net/2001-01-16.htm

и

http://detail.phpclub.net/2001-01-20.htm

 

Это для тех кто дальше мод реврайта и индексации страниц не лазил. Остальным будет не интересно.

Ссылка на комментарий
Поделиться на других сайтах

генерирует 5000 запросов

1. просто index.php

2. /index/ - с мод реврайтом на index.php

3. /index/ - c 404 ошибкой обрабатываемой в index.php

 

Если php стоит как модуль апача то можно сделать обрабоку урл через 404 ошибку(сам php скрипт будет генерить http 200 ок), а если php стоит как cgi, тогда такой трюк не пройдет, т.к. апач в этом случае сам шлет 404 (если не нашел страницу), а потом уже переходит на страницу (скрипт) ошибки ,и поэтому поисковики не будут индексировать такие страницы, т.к. в заголовках будет код ошибки...

 

 

Почему-то данные страницы не открываются...

Ссылка на комментарий
Поделиться на других сайтах

Из дома удалось прорваться на тот сервер...

В статье http://detail.phpclub.net/article/2001-01-16 есть такая сноска -

Если при вызове функции header (header ("HTTP/1.0 200 Ok"):D сервер ругается матом "Error 500" - смотрите здесь и здесь.

и даются два урл-а, ни тот ни другой не открываются...

 

Честно говоря у меня нет идей как передать header ("HTTP/1.0 200 Ok"); если php установлен ка cgi (как модуль его практически никто не ставит, из соображений безопастности).

Ссылка на комментарий
Поделиться на других сайтах

Valera

а вроде наоборот все как раз PHP как CGI не ставят.

 

Еще темки о кУРЛам:

http://www.searchengines.ru/forum/printthr...79&perpage=1000

http://spectator.ru/technology/php/user_friendly_urls

Ссылка на комментарий
Поделиться на других сайтах

вот отрыл, header("Status: 200 OK"); если слать такой хедер, то происходит "подмена" кода (допустим был 404) на 200 OK, так что все проблемы с "CGI" вроде как уже нету...

 

Добавлено:

спасибо за статьи, нашел кое-что познавательное

 

Добавлено:

вроде наоборот все как раз PHP как CGI не ставят

На этом хостинге, голдхосте, испсервер, хостпро.ком.уа везде стоит как CGI

голдхост, прямо говорит что php как модуль у них никогда не будет стоять из-за политики безопасности.

связано это с тем что когда php работает как модуль все создаваемые php файлы становятся "общими"... так как формировались не от имени пользователя, а от имени апача... (а апач один на всех)

 

Сейчас ставлю эксперименты...

интересно с опцией AllowOverride All могут быть траблы у пользователей, и включена ли она на бесплатных хостингах

Изменено пользователем Valera
Ссылка на комментарий
Поделиться на других сайтах

У меня на бесплатном хосте включена.

2. Пока не видно результатов работы хака: ни один робот не берет

Ссылка на комментарий
Поделиться на других сайтах

Ну положим написать обработчик через 404 не так уж и сложно. Все до нас написано... :D

НО ! Читаем тут:

Способ два

...Раз страница не существует, то она выдает 404...

Плюсы: Очень простой способ. Работает почти везде.

Минусы: При таком способе нельзя постить содержимое формы на несуществующие псевдоурлы. И если в Апаче ведется лог 404-ых ошибок, то он будет забит.

IMHO проиндексированным должен быть рабочий форум, а не его замена как это сделано у Valera. То биш надо обрабатывать и POST в конверторе и еще неизвестно чего иначе часть форума будет не рабочей. Мне лично такой подход не очень нравиться.

 

А с другой стороны:

Способ три

...есть специальный модуль в Апаче, который называется mod_rewrite...

Плюсы: Очень мощный способ.

Минусы: Может не хватить мозгов. На хостинге может быть не установлен этот модуль.

И меня этот способ устраивает ;)

Плюс ко всему, почти во всех статьях авторы пишут, что не смогли разобраться с mod_rewrite. Думаю частично поэтому велся поиск других путей решения. :)

 

Отвлекся...

Может быть Vanish ,как сертифицированный специалист, подскажет метод конвертирования ссылок в файлах форума в вид www.board.qu/forum/topic203/lastpost/

Лазить по файлам и выискивать {$ibresource->board_url}?act=... не очень хочется. Даже если автозаменой. Исходные файлы оставить бы как есть.

Сдается мне, что написанная мной замена через preg_replace не совсем эффективна. Можно наверное получше сделать.

Если не сложно дай ссылки по теме... :)

Ссылка на комментарий
Поделиться на других сайтах

ни факт, мод реврайт все же грузит процессор сервера.

Проверил разницу между чистым php и html через мод_реврайт. У меня на WinXP, Apache 2.0.44 разница меньше 1%.

За неимением лучшего проверял время выполнения запросов. По 5000 запросов. Может есть другая методика ?

Проверял на порталовском index.php и на "чистом" index.php c одной единственной строкой echo "This is test";

Надо будет на Apache 1.3 проверить под Linux'ом...

Да и по сравнению со временем генерации самой страницы форума (куча кода + SQL), работа mod_rewrite вообще незаметна.

Ссылка на комментарий
Поделиться на других сайтах

сем привет. Что то у меня глючит..

Когда захожу в Активные темы, и хочу перескочить на вторую страницу активной темы то он посылает Бог знает куда...

Стоит на двух версиях форума - 1,1,1 и 1,1,2

 

Примеры тут:

http://forum.a.narod.co.il/index.html?act=...&CODE=getactive

и тут

http://forum.chkalovsk.com/index.html?act=...&CODE=getactive

Заранее благодарен за помощ

Ссылка на комментарий
Поделиться на других сайтах

http://detail.phpclub.net/article/2001-01-16

    ELis    2001-01-19 07:46

На мой взгляд такая метода достаточно удобна и дает красивые адреса. Но есть один неприятный момент: выдача существующего документа апачем производится гораздо быстрее, чем узнавание его адреса скриптом и последующая сборка. Посему использование ее для информационных сайтов с большим числом посетителей будет сильно грузить сервер.

 

Вообщем, получается так... что mod_rewrite грузит сервер... НО если синтаксическим анализом будет заниматься php (через ошибку 404, разбор данных) то нагрузка будет еще большей...

Ссылка на комментарий
Поделиться на других сайтах

То биш надо обрабатывать и POST в конверторе и еще неизвестно чего иначе часть форума будет не рабочей. Мне лично такой подход не очень нравиться.

поисковые роботы не умеют посылать сообщения

 

Плюс ко всему, почти во всех статьях авторы пишут, что не смогли разобраться с mod_rewrite. Думаю частично поэтому велся поиск других путей решения.

Ну вообще то все те статьи писались людьми у которых проблем с регулярными выражениями не было (а составления правил для реврайта как раз это и требует в основном).

Теперь попробую объяснить почему изобретались все эти методыю

 

Начнем с того, что мод реврайт был не сразу. А проблема коротких урлов стояла всегда.

Далее, мод реврайт быстро работает с маленькими правилами (малая сложность УРЛов). Разбор мудренные правил, будет требовать и больше времени зависимоть таки прямо пропорциональная.

 

И не на всех хостингах позволено использовать мод реврайт. Сейчас таких хостингов конечно мало, но факт есть факт. Значит не всем подойдет.

 

Кстати интересен тот факт есть у нас человек который сделал подобную систему для vB (может кто знает sitemaker.ru). Она была сделана на мод реврайт. В итоге после прошествия месяца или более, систему убрали (вернее она ще есть, но не используется). А ноловной сайт сделан на обработке 404 ошибки. И работает, причем не плохо. А ведь Denveroid (владелец ресурса) не плохо знает мод реврайт (смотрите 4-е статьи там же)

 

Короче я так понял что каждому нравится то что он сделал. Я больше поддерживаю систему Валеры, так как она наименьшим образом грузит систему и дает такой же результат при индексации как и мод реврайт. А админу форума что нужно? правильно что бы его индексировали поисковики, а вот ЧПУ для пользователей форума, это наверное лишнее. Так как нельзя именно красиво сделать такую систему и что бы она действительно была человекопонятна!

 

Valera

НО если синтаксическим анализом будет заниматься php (через ошибку 404, разбор данных) то нагрузка будет еще большей...

все зависит как разбирать запросы, если регулярками то да, там времени займет много. Я все же больше видел больше систем ЧПУ именно в такой интерпритации, нежели на мод реврайте.

 

SerJo

У вас проблема в том что вместо http://forum.a.narod.co.il/topic2976s0.html?hl= идет http://forum.a.narod.co.il/topic2976s0.htmlhl= Наверное что то забыли отредактировать.

 

Кстати объясните, а http://..../topic2976s0.html?hl= это не динамика?

Ссылка на комментарий
Поделиться на других сайтах

SerJo

У вас проблема в том что вместо http://forum.a.narod.co.il/topic2976s0.html?hl= идет http://forum.a.narod.co.il/topic2976s0.htmlhl= Наверное что то забыли отредактировать.

 

Кстати объясните, а http://..../topic2976s0.html?hl= это не динамика?

Всё было сделано по описанию.... Слово в слово :D

При чём один форум чистый - без единого хака, а второй похаканый со всех сторон....

Ссылка на комментарий
Поделиться на других сайтах

Vanish

поисковые роботы не умеют посылать сообщения

Так смысл в том, чтоб люди с поиска приходили на форум, а не в другое место. И видели именно форум, а не урезанную версию совершенно по другому оформленную.

Для этого надо делать так, чтоб индексировался именно форум, а для этого нужен работающий POST. Ну в общем понятно надеюсь.

Короче я так понял что каждому нравится то что он сделал. Я больше поддерживаю систему Валеры,

Мне тоже нравиться его система. Только еслиб он сделал как описано выше, былоб еще лучше.

Кстати объясните, а http://..../topic2976s0.html?hl= это не динамика?

Главное, что сами форумы и темы с нормальными адресами. А все что с ? и не переделывалось.

 

SerJo

Когда захожу в Активные темы, и хочу перескочить на вторую страницу активной темы то он посылает Бог знает куда...

Действительно, в форуме 1.1.х данная ошибка есть. В 1.2 все без проблем. Будем исправлять...

Ссылка на комментарий
Поделиться на других сайтах

SerJo

Найди в class FUNC:

$ibforums->vars['board_url']."/topic\\2s\\3.html\\4",

Замени на:

$ibforums->vars['board_url']."/topic\\2s\\3.html?\\4",

 

Найди в class display:

$ibforums->vars['board_url']."/topic\\2s\\3.html\\4\\5",

Замени на:

$ibforums->vars['board_url']."/topic\\2s\\3.html?\\4\\5",

Ссылка на комментарий
Поделиться на других сайтах

urisoft

А как мне сделать так, чтобы на форуме все ссылке были в php, как здесь, а html были как-бы в папке ( тоже как здесь ). Т.е здесь при индексации из Яндекса ссылка идет не на http://ibresource.ru/forums/index.html#что-то там а на http://ibresource.ru/папка/index.html

Ссылка на комментарий
Поделиться на других сайтах

SerJo

Найди в class FUNC:

$ibforums->vars['board_url']."/topic\\2s\\3.html\\4",

Замени на:

$ibforums->vars['board_url']."/topic\\2s\\3.html?\\4",

 

Найди в class display:

$ibforums->vars['board_url']."/topic\\2s\\3.html\\4\\5",

Замени на:

$ibforums->vars['board_url']."/topic\\2s\\3.html?\\4\\5",

 

Не помогло :D

Ссылка на комментарий
Поделиться на других сайтах

SerJo

Не помогло

Не может этого быть. Может не там изменил ?

кстати если зайти в раздел УЧАСТНИКИ, то сортировка не работает

Это ошибка в скине форума.

В файле skin_mlist.php найди:

<form action='{$ibforums->vars['board_url']}/index.{$ibforums->vars['php_ext']}?s={$ibforums->session_id};act=Members' method='POST'>

Замени на:

<form action='{$ibforums->vars['board_url']}/index.{$ibforums->vars['php_ext']}?s={$ibforums->session_id}&act=Members' method='POST'>

Не по правилам ссылка сформирована. Вместо & стоит ;

 

Borland_delphi_6

А как мне сделать так, чтобы на форуме все ссылке были в php, как здесь, а html были как-бы в папке ( тоже как здесь ).

Поставить конвертор от Valera

Я внешний делать не буду... Сорри.

Ссылка на комментарий
Поделиться на других сайтах

Поставить конвертор от Valera

Нету Zend на бесплатном хосте...

2. urisoft

Можт я чего-то не понимаю, но есть ли разница в индексации между твоим и Валериным? У меня Яндекс сайт все равно php индексирует :D

Ссылка на комментарий
Поделиться на других сайтах

Borland_delphi_6 так если в урлах осталась динамика ? и & индексации не стоит ждать...

 

Валер, может пора раздавать не зенденую копию, под условия сохранности копирайтов. Так сказать, пусть человек у нас спросит архив, и если его устраивает условие (см. выше) выдавать :)

 

И проконтролировать всегда можно будет...

Ссылка на комментарий
Поделиться на других сайтах


×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.