Помогите сделать редирект(htaccess?)

Montoya
На сайте с 30.09.2006
Offline
139
671

Суть проблемы в следующем. На сайте есть раздел с рейтингом, толку от него нет, раздел "мертвый". Его нужно закрыть. Раздел работает через отдельный скрипт, не через cms сайта, т.е. физически расположен в папке "razdel". Нужно сделать редирект со всех страниц раздела (http://site.ru/razdel/pages*) на страницу http://site.ru/razdel/index.html

Как это реализовать?

[Удален]
#1

Примерно так

RewriteEngine On
RewriteRule ^razdel(.*)$ /razdel/index.html [L,R=301]
Montoya
На сайте с 30.09.2006
Offline
139
#2

Phessiv, это указать в htaccess в корне сайта или в папке?

[Удален]
#3

Montoya, в htaccess в корне

Montoya
На сайте с 30.09.2006
Offline
139
#4

Phessiv, не работает. Пробовал добавлять указанные вами строки в конец файла .htaccess(в корне сайта, как вы и сказали). Но редирект не происходит. Вместо этого получаю стандартную ошибку 404 от wordpress.

Сейчас, без изменений, файл .htaccess содержит

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
[umka]
На сайте с 25.05.2008
Offline
456
#5

Это вордпресс такой жадный :)

Добавьте в его секцию сразу после 'RewriteBase' строчку:

RewriteRule ^razdel/pages.* /razdel/index.html [L,R=301]

(правило, приведённое Phessiv, будет зацикливаться)

Лог в помощь!
Montoya
На сайте с 30.09.2006
Offline
139
#6

[umka], ваш вариант работает, но только если названия страниц начинаются с pages

При других названиях не работает. Можно сделать более универсальный вариант?

Перечислить все возможные варианты названий страниц невозможно, слишком много

[umka]
На сайте с 25.05.2008
Offline
456
#7
Montoya:
[umka], ваш вариант работает, но только если названия страниц начинаются с pages
При других названиях не работает. Можно сделать более универсальный вариант?
Перечислить все возможные варианты названий страниц невозможно, слишком много

Я буквально понял приведённый вами шаблон :)

Тогда вместо той строчки напишите эти две:

RewriteCond %{REQUEST_URI} !^/razdel/index.html$
RewriteRule ^razdel/.* /razdel/index.html [R=301,L]

[Удален]
#8
(правило, приведённое Phessiv, будет зацикливаться)

Montoya, [umka], REQUEST_URI не вписал, конечно :)

[umka]
На сайте с 25.05.2008
Offline
456
#9
Phessiv:
Montoya, [umka], REQUEST_URI не вписал, конечно :)

........:p

Montoya
На сайте с 30.09.2006
Offline
139
#10

Phessiv, [umka], спасибо, все работает как надо

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий