Проблема с переадресацией

12
V1
На сайте с 05.05.2010
Offline
9
1207

Всем привет.

Не могу понять в чем дело.

Есть раздел сайта: www.site.ru/katalog/polochnye/

Сайт переделали и теперь эта же страница имеет адрес www.site.ru/catalog/stellaji-polochnie/

Так вот в редиректе в htaccess есть запись:

Redirect permanent /katalog/polochnye/ http://www.site.ru/catalog/stellaji-polochnie/

Не работает. Не понятно почему.

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

Раскрутка сайтов в Рунете. Продвижение сайтов
[umka]
На сайте с 25.05.2008
Offline
456
#1

Скорей всего, срабатывает ещё какое-то правило, и до вашего правила дело не доходит.

Чтобы понять, что происходит, можно включить rewrite_log и там всё будет написано.

Лог в помощь!
V1
На сайте с 05.05.2010
Offline
9
#2

Так уровень выше и подуровень то работают на переадресацию.

[Удален]
#3
Vlad12345678:
Всем привет.

Не могу понять в чем дело.

Есть раздел сайта: www.site.ru/katalog/polochnye/
Сайт переделали и теперь эта же страница имеет адрес www.site.ru/catalog/stellaji-polochnie/

Так вот в редиректе в htaccess есть запись:
Redirect permanent /katalog/polochnye/ http://www.site.ru/catalog/stellaji-polochnie/
Не работает. Не понятно почему.

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

почему бы Вам не сделать header('Location')

V1
На сайте с 05.05.2010
Offline
9
#4

Простите чего сделать?

[Удален]
#5
Vlad12345678:
Простите чего сделать?

в .htaccess переадресовываете на какой нибудь php файл и там пишете

<?php

header('Location: address.php');
?>
[umka]
На сайте с 25.05.2008
Offline
456
#6
Vlad12345678:
Так уровень выше и подуровень то работают на переадресацию.

Я ещё раз повторю :) Возможно, срабатывает какое-то другое правило, которое находится выше в .htaccess и до обсуждаемого правила дело вообще не доходит.

Попробуйте оставить только одно это правило и проверьте, будет ли оно работать.

av-an:
почему бы Вам не сделать header('Location')

Начинается в стиле сёрча :)

"А почему бы вам не отправить всем пользователям по почте письменные приглашения с новыми адресами?" :D

Ragnarok
На сайте с 25.06.2010
Offline
239
#7

навскидку, добавь запись

Redirect permanent /katalog/polochnye http://www.site.ru/catalog/stellaji-polochnie/

//TODO: перестать откладывать на потом
[Удален]
#8
Ragnarok:
навскидку, добавь запись

Redirect permanent /katalog/polochnye http://www.site.ru/catalog/stellaji-polochnie/

а чем плох этот вариант?

RewriteRule ^/katalog/polochnye(.*)$ catalog/stellaji-polochnie$1

V1
На сайте с 05.05.2010
Offline
9
#9
Ragnarok:
навскидку, добавь запись

Redirect permanent /katalog/polochnye http://www.site.ru/catalog/stellaji-polochnie/

Добавлял. Не помогает. Кто что еще посоветует?

Вот весь htaccess файл:

##

# @version $Id: htaccess.txt 14401 2010-01-26 14:10:00Z louis $

# @package Joomla

# @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.

# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL

# Joomla! is Free Software

##

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} ^site\.ru

RewriteRule ^(.*)$ http://www.site.ru/$1 [R=permanent,L]

Redirect permanent /katalog/polochnye/ http://www.site.ru/catalog/stellaji-polochnie/

Redirect permanent /katalog/polochnye/1/ http://www.site.ru/catalog/stellaji-polochnie/stellaj-s-proletami/

и так далее...

#####################################################

# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE

#

# The line just below this section: 'Options +FollowSymLinks' may cause problems

# with some server configurations. It is required for use of mod_rewrite, but may already

# be set by your server administrator in a way that dissallows changing it in

# your .htaccess file. If using it causes your server to error out, comment it out (add # to

# beginning of line), reload your site in your browser and test your sef url's. If they work,

# it has been set by your server administrator and you do not need it set here.

#

#####################################################

## Can be commented out if causes errors, see notes above.

#Options +FollowSymLinks

#

# mod_rewrite in use

RewriteEngine On

########## Begin - Rewrite rules to block out some common exploits

## If you experience problems on your site block out the operations listed below

## This attempts to block the most common type of exploit `attempts` to Joomla!

#

## Deny access to extension xml files (uncomment out to activate)

#<Files ~ "\.xml$">

#Order allow,deny

#Deny from all

#Satisfy all

#</Files>

## End of deny access to extension xml files

RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]

# Block out any script trying to base64_encode crap to send via URL

RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]

# Block out any script that includes a <script> tag in URL

RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]

# Block out any script trying to set a PHP GLOBALS variable via URL

RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]

# Block out any script trying to modify a _REQUEST variable via URL

RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

# Send all blocked request to homepage with 403 Forbidden error!

RewriteRule ^(.*)$ index.php [F,L]

#

########## End - Rewrite rules to block out some common exploits

# Uncomment following line if your webserver's URL

# is not directly related to physical file paths.

# Update Your Joomla! Directory (just / for root)

# RewriteBase /

########## Begin - Joomla! core SEF Section

#

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} !^/index.php

RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]

RewriteRule (.*) index.php

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

#

########## End - Joomla! core SEF Section

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

Возможно у Вас срабатывает условие

RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]

(его часть /[^.]*$ подходит под преобразованный адрес, но чтоб точно сказать это нужно еще знать какие каталоги у Вас реально есть на сервере)

Попробуйте вместо команды Redirect (из модуля mod_alias) использовать правила RewriteRule (из модуля mod_rewrite)

Тем более у Вас везде используется именно модуль mod_rewrite

А для того, чтобы исключить применение правил к уже преобразованным адресам, воспользуйтесь назначением переменной (например RVR)

В самое начало нужно поставить проверку переменной, и сделать выход без преобразований, если переменная есть (при повторном проходе по файлу htaccess к имени переменной программа добавляет "REDIRECT_")

В том место, где у Вас стоят команды

Redirect permanent /katalog/polochnye/ http://www.site.ru/catalog/stellaji-polochnie/

Redirect permanent /katalog/polochnye/1/ http://www.site.ru/catalog/stellaji-...j-s-proletami/

(вместо них) поставьте следующее:


RewriteCond %{ENV:REDIRECT_RVR} ^yes$
RewriteRule .* - [L]

RewriteRule ^katalog/polochnye/$ catalog/stellaji-polochnie/ [R=301,L,E=RVR:yes]
RewriteRule ^katalog/polochnye/1/$ catalog/stellaji-polochnie/stellaj-s-proletami/ [R=301,L,E=RVR:yes]
и так далее...
Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)
12

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