|
|
|
| Если какая-то страница сайта более не нужна, то я делаю на ней редирект на главную страницу, что бы посетители не упирались в 404:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.domain.ru/index.htm");
exit();
?>
|
Это удобно, если удаляется одна или несколько страниц.
Но вот сейчас возникла необходимость удаления всех страниц одной папки. Можно ли сделать "коллективный" редирект, что бы переадресовать на главную сразу все страницы, которые были в этой папке? | |
|
|
|
|
|
|
|
для: Владимир55
(16.10.2009 в 20:08)
| | можно в редакторе (если он нормальный, а не Фронтпейдж) вставить нужную строку во все файлы в выбранной папке. | |
|
|
|
|
|
|
|
для: elenaki
(16.10.2009 в 20:50)
| | почему-то кажется, что мод-рерайтом в .htaccess'е этого каталога будет сильно проще. | |
|
|
|
|
|
|
|
для: Trianon
(16.10.2009 в 20:53)
| | Неизмеримо проще! Файлов удаляется много (десятки тысяч), и хочется освободиться от них вообще, а не только свести их размер к минимуму.
Как это через .htaccess сделать? | |
|
|
|
|
|
|
|
для: Владимир55
(16.10.2009 в 22:45)
| |
# /dir/.htaccess -- конфигурационный файл каталога /dir
RewriteEngine On
RewriteBase /dir
RewriteRule ^.+$ / [L]
|
как-то так, вероятно. | |
|
|
|
|
|
|
|
для: Trianon
(16.10.2009 в 22:56)
| | Или задать в качестве обработчика 404-й ошибки главную страницу. | |
|
|
|
|
|
|
|
для: Киналь
(17.10.2009 в 21:36)
| | Оригинальная идея!
Это как? | |
|
|
|
|
|
|
|
для: Владимир55
(18.10.2009 в 00:32)
| |
ErrorDocument 404 http://www.softtime.ru/forum/404.html
|
| |
|
|
|
|
|
|
|
для: Владимир55
(18.10.2009 в 00:32)
| | Предлагаю не портить обработку 404-й ошибки, а закрывать директорию редиректом.
В родительской директории, в которой находится сабж, делаем .htaccess:
RedirectPermanent /the_dir http://www.mysite.ru
|
| |
|
|
|
|
|
|
|
для: DJ Paltus
(18.10.2009 в 02:29)
| | Что не заработало ничего из этого...
Ситуация такая: директория второго уровня освобождена от файлов, и в нее помещен файл .htaccess
Если использовать вариант Trianon (16.10.2009 в 22:56), то получается забавная ситуация: обращение к любой странице, которая была в опустошенном каталоге, вызывает главную страницу сайта, что и требовалось. Но! Сайт при этом не работает, ибо клик по любому элементу меню вновь приводит на главную страницу, хотя в адресной строке фигурирует вызванная!
А вариант DJ Paltus (18.10.2009 в 02:29) приводит к тому, что сайт бьется в конвульсиях, ибо в левой нижней части экрана постоянно присутствует дрожащее сообщение "Ожидается ответ".
Что же здесь не так? | |
|
|
|
|
|
|
|
для: Владимир55
(26.11.2009 в 19:02)
| | >Ситуация такая: директория второго уровня освобождена от файлов, и в нее помещен файл .htaccess
>Если использовать вариант Trianon (16.10.2009 в 22:56), то получается забавная ситуация: обращение к любой странице, которая была в опустошенном каталоге, вызывает главную страницу сайта, что и требовалось. Но! Сайт при этом не работает, ибо клик по любому элементу меню вновь приводит на главную страницу, хотя в адресной строке фигурирует вызванная!
Здрасти. Вы ж этого и хотели?
Хотя.. понял. Так Вам нужен переход не в корень, а на страницу, которая попросит header('Location: /');exit();
Ну или клиентский редирект средствами mod_rewrite (может кто подскажет строчку, т.к. мне лень) | |
|
|
|
|
|
|
|
для: Trianon
(26.11.2009 в 19:06)
| | Добрый вечер!
Я полагал, что посетитель, пришедший по адресу файла из опустошенной директории, перейдет на главную страницу, и далее будет путешествовать по сайту самым обычным образом.
А получилось, что с главной он никуда уйти не может! | |
|
|
|
|
|
|
|
для: Владимир55
(26.11.2009 в 19:10)
| | [R] | |
|
|
|
|
|
|
|
для: Trianon
(26.11.2009 в 19:14)
| | Меня что удивляет: в сети много статей о редиректе, и повсюду есть пример редиректа директории на страницу
Redirect 301 / http://www.you.com/new.htm
|
А у меня и это не работает.
Может, в настройках сервера что-то не так?
(в файле httpd.conf задано AllowOverride All ) | |
|
|
|
|
|
|
|
для: Владимир55
(26.11.2009 в 19:16)
| | Пустая поддиректория с именем sh, находящаяся в папке с именем 61, удалена. А в корневом файле .htaccess сделана такая запись:
RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html
Redirect 301 /61/sh/99999.htm http://site.ru/
Options –Indexes
|
Теперь при обращении к файлу http://site.ru/61/sh/99999.htm происходит переход на главную страницу.
А как сделать, что бы при обращении к ЛЮБОМУ файлу в директории /61/sh/ (типа http://site.ru/61/sh/******.htm ) происходил переход на главную страницу?
(Вот так
Redirect 301 /61/sh/ http://site.ru/
| и так
Redirect 301 /61/sh http://site.ru/
| не работает). | |
|
|
|
|
|
|
|
для: Владимир55
(26.11.2009 в 20:50)
| | И всё же.
Если в моем варианте (16.10.2009 в 22:56) поменять [L] на [R]
что происходит? | |
|
|
|
|
|
|
|
для: Trianon
(26.11.2009 в 21:25)
| | Шик модерн! Спасибо! | |
|
|
|