|
|
|
| Доброго времени суток господа.
Ситуация следующая: был сайт и были на нем скрипты, такие как Доска объявлений, Каталог сайтов и т.п. Сейчас структура сайта всех модулей изменена. БД была переконвертирована. Всё хорошо. Но в поисковиках остались старые ссылки на информацию, которая доступна и сейчас, но по другим адресам.
Сам не люблю, когда захожу на сайт по одной сцылле, а меня редиректит на главную страницу.
В данный момент срабатывает редирект: ErrorDocument 404 http://www.site.ru/error.php
Поэтому хочется распознать, на какой скрипт идёт человек (на доску объявлений, каталог сайтов, статьи или новости...) до срабатывания этого редиректа, и показать ему заранее подготовленную страницу, с объяснением, почему он попал на неё, а не куда хотел, и объяснить, что нужная ему информация есть, но её просто нужно искать в другом месте...
Прошу подсказать, как мне поступить...
Могу привести для наглядности данные:
Старая сцылла категорий в доске объявлений: http://site.ru/board/index.php?event=list&...
Старая сцылла для объявлений: http://site.ru/board/index.php?event=view&....
Требуемая сцылла для редиректа с семейства этих двух: http://site.ru/page/non_message/
И еще примерные сцыллы:
http://site.ru/cat/cat_111.html
http://site.ru/cat/id_111.html
Требуемая сцылла для редиректа с семейства этих двух: http://site.ru/page/non_firms/
Что-то примерно такое...
Очень не хочется терять посетителей...
Спасибо заранее всем откликнувшимся... | |
|
|
|
|
|
|
|
для: provodnik
(18.03.2007 в 16:30)
| | Для второго случая работает это:
<?
RewriteRule ^cat/([a-zA-Z0-9_\.]+)$ page/non_firms/
?>
|
А для первого случая, для объявлений никак не получается...
Прошу подсказать.
Спасибо.. | |
|
|
|
|
|
|
|
для: provodnik
(18.03.2007 в 16:30)
| | Попробуйте вот так:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{QUERY_STRING} ^event=
RewriteRule ^board/index.php$ page/non_message/index.php [L]
|
В условии RewriteCond проверяется наличие строки event в параметрах запроса | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(24.03.2007 в 07:38)
| | glsv (Дизайнер) , спасибо, всё работает как нужно...
Вопросик: за что отвечает [L] в конце строки?
Мне приходится дублировать строки, что бы "подумать" за тех пользователей, которые не ставят в конце адреса слэш..
Пример:
RewriteRule ^board$ sboard.php
RewriteRule ^board/$ sboard.php
|
Просто у меня .htaccess уже весит 20Кб. Думаю, может что то можно оптимизировать...
Спасибо.. | |
|
|
|