301 редирект htaccess

12
Hixon10
На сайте с 21.08.2010
Offline
125
957

Добрый день.

Помогите, пож-та, сделать 301 редирект

http://site.ru/igry/ -> http://site.ru/

http://site.ru/igry -> http://site.ru/

http://site.ru/igry/page/5 -> http://site.ru/page/5

Сейчас htaccess


# BEGIN WordPress



<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTP_REFERER} !^$ [nc]
</IfModule>

# END WordPress

Пробовал разные варианты, ничего не получилось, а на пхп не хотелось бы делать.

Веду свой невзрачный блог (http://hixon.ru/).
PromoMsater
На сайте с 11.05.2010
Offline
120
#1

Сегодня у всех с редиректами проблемы :) /ru/forum/672433

Hixon10
На сайте с 21.08.2010
Offline
125
#2

Не знаю, может быть, что-то не так делаю, но


Redirect 301 http://site.ru/igry http://site.ru/
и
Redirect 301 igry http://site.ru/

Не работают.

gormarket
На сайте с 29.12.2010
Offline
47
#3

RewriteRule ^igry/?$ http://%{HTTP_HOST}/ [R=301,L]

RewriteRule ^igry/page/5$ http://%{HTTP_HOST}/page/5 [R=301,L]

если вместо 5 нужно любое число, то так

RewriteRule ^igry/page/([0-9]+)$ http://%{HTTP_HOST}/page/$1 [R=301,L]

и уберите

RewriteCond %{HTTP_REFERER} !^$ [nc]

(условие RewriteCond относится к правилу RewriteRule, которое находится под этим условием, а у Вас ниже этой строки правил уже нет, видимо строка осталась от каких-то экспериментов)

Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)
Hixon10
На сайте с 21.08.2010
Offline
125
#4
gormarket:
RewriteRule ^igry/?$ http://%{HTTP_HOST}/ [R=301,L]
RewriteRule ^igry/page/5$ http://%{HTTP_HOST}/page/5 [R=301,L]

если вместо 5 нужно любое число, то так

RewriteRule ^igry/page/([0-9]+)$ http://%{HTTP_HOST}/page/$1 [R=301,L]


и уберите
RewriteCond %{HTTP_REFERER} !^$ [nc]

(условие RewriteCond относится к правилу RewriteRule, которое находится под этим условием, а у Вас ниже этой строки правил уже нет, видимо строка осталась от каких-то экспериментов)

Спасибо за ответ, но что-то редирект не работает, сервер возвращает 200.


# BEGIN WordPress



<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^igry/page/([0-9]+)$ http://%{HTTP_HOST}/page/$1 [R=301,L]
</IfModule>

# END WordPress



gormarket
На сайте с 29.12.2010
Offline
47
#5

Нужно поместить новые редиректы выше блока.

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

иначе до редиректа не доходит, срабатывает это правило

Hixon10
На сайте с 21.08.2010
Offline
125
#6

gormarket, Спасибо! Работает.

С радостью бы плюсанул в репутацию, но почему-то нельзя.

[umka]
На сайте с 25.05.2008
Offline
456
#7

В самом начале:

Redirect 301 /igry/ http://site.ru/

Redirect 301 /igry http://site.ru/

Redirect 301 /igry/page/5 http://site.ru/page/5

mod_rewrite для этой задачи можно не привлекать.

Лог в помощь!
Hixon10
На сайте с 21.08.2010
Offline
125
#8

[umka], спасибо, проблема решена с помощью кода, который дал gormarket.

siv1987
На сайте с 02.04.2009
Offline
427
#9

Или

RedirectMatch /igry/?(page/5?)?$ http://site/$1

T
На сайте с 16.11.2011
Offline
0
#10

Здравствуйте

Бьюсь над проблемой с таким редиректом:

Со страницы http://sayt.ru/index.php5?articleId=1

на страницу http://sayt.ru/ru/o-kompanii.php

Подскажите пожалуйста, мозг уже кипит. Спасибо.

tomo добавил 16.11.2011 в 19:35

Такая конструкция работать не хотит.

RewriteEngine on

RewriteBase /

RewriteRule index.php5?articleId=1 http://sayt.ru/ru/o-kompanii.php [R=301,L]

tomo добавил 16.11.2011 в 19:39

может мешает что, я имею ввиду лишнее есть в файле?

Options -Indexes
ErrorDocument 404 /404.php

<IfModule mod_php5.c>
php_flag allow_call_time_pass_reference 1
php_flag session.use_trans_sid off

#php_value display_errors 1

#php_value mbstring.func_overload 2
#php_value mbstring.internal_encoding UTF-8
</IfModule>

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
</IfModule>

<IfModule mod_dir.c>
DirectoryIndex index.php index.html
</IfModule>

<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/jpeg "access plus 3 day"
ExpiresByType image/gif "access plus 3 day"
</IfModule>
12

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