Никак не могу сделать правильный 301 редирект в .htaccess.
Задача: есть группа страниц www.site.ru/novosti/город ,где город - название городов на латинице. ЧПУ было организовано в .htaccess следующим образом:
RewriteRule ^novosti/([a-zA-Z0-9_-]+)$ /city-news.php?city=$1 [L]
Сейчас надо заменить novosti на news. Ссылки на сайте меняю на www.site.ru/news/город. И прописываю новое правило:
RewriteRule ^news/([a-zA-Z0-9_-]+)$ /city-news.php?city=$1 [L]
А чтобы всякие PR и внешние ссылки не пропали делаю таким образом:
RewriteRule ^novosti/([a-zA-Z0-9_-]+)$ /news/$1 [L,R=301]
И получается плохо - слетает ЧПУ напрочь! Поскольку возникает 301 редирект, то у пользователя в броузере уже не отображается ссылка www.site.ru/news/город а показывает www.site.ru/city-news.php?city=город
Перепробовал кучу способов - никак нельзя убрать этот внешний редирект :-(
Кто подскажет решение?
- 16.03.2014 00:09Новичок


- Регистрация: 15.03.2014
- Сообщений: 9
- Репутация: 0
- 16.03.2014 09:57Код:так попробуйте
RewriteRule ^novosti/([a-zA-Z0-9_-]+)$ /news/$1 [R=301,L] RewriteRule ^news/([a-zA-Z0-9_-]+)$ city-news.php?city=$1 [L,QSA]
Последний раз редактировалось cOAPerator; 16.03.2014 в 10:03.
- 16.03.2014 19:09Новичок


- Регистрация: 15.03.2014
- Сообщений: 9
- Репутация: 0
cOAPerator,
попробовал, переадресация происходит, но в строке броузера после ввода www.site.ru/novosti/город пишет www.site.ru/city-news.php?city=город, а не www.site.ru/news/город. :-(
То есть PR и все остальное пропадет. - 22.03.2014 20:02Новичок


- Регистрация: 15.03.2014
- Сообщений: 9
- Репутация: 0
Тема все еще актуальная. Неужели это невозможно?! Такая простая с виду задача...
- 24.03.2014 10:58
подскажите, а чем такой способ не устраивает?
Redirect 301 /articles/novosti http://www.site.ru/articles/news - 24.03.2014 19:13Новичок


- Регистрация: 15.03.2014
- Сообщений: 9
- Репутация: 0
shkip3r,
У меня не просто /articles/novosti, а /articles/novosti/город. Например /articles/novosti/moscow/. И городов много, вручную не перечислишь. Это включенный ЧПУ.
И в предложенном Вами примере регулярные выражения не применяются, поэтому все скопом не перенаправишь на /articles/news/город. Приходится применять mod_rewrite в .htaccess, у которого "глюк" если указал внешний редирект в начале, то он тянется до конца, как печать в паспорте :-( - 24.03.2014 20:10
На фрилансерской бирже создали бы проект, вам бы за отзыв и символические $1-2 уже бы давно сделали )
По-моему, это эффективней, чем неделю гадать. Хотя за неделю в правилах модреврайта уже можно было разобраться или хотя бы "методом тыка" найти нужный вариант :) - 24.03.2014 20:12Новичок


- Регистрация: 15.03.2014
- Сообщений: 9
- Репутация: 0
GameAgregator,
За первый пункт спасибо, так и сделаю - не знал об этом. Было бы здорово, если бы и ссылку кинули на биржу.
По второму пункту: уже разобрался, потыкал, и не нашел способа. Если Вы считаете, что это возможно - напишите как и я с удовольствием переведу Вам $1-2.Последний раз редактировалось vadim.vua; 24.03.2014 в 20:26.
- 24.03.2014 20:32
vadim.vua, спасибо за щедрое предложение, конечно, но если бы я точно знал, как это сделать - я бы вам подсказал уже ) А так - уже выше дал рекомендацию, как поступить наиболее эффективно в вашем случае...
- 25.03.2014 10:16
cOAPerator вроде дал правильное решение. Кэш в браузере чистили? При игре с редиректами и htaccess одно из главных правил - каждый раз вычищать кэш. Не знаю почему, но они имеют дурную привычку запоминать старые редиректы. Нас тут однажды чуть до белого каления это не довело. :-)
Тэги топика:
Похожие темы
| Темы | Раздел | Ответов | Последний пост |
|---|---|---|---|
Помогите разобраться с редиректом | Прочее | 4 | 18.10.2012 19:25 |
Помогите с редиректом 301 | DLE | 8 | 20.05.2012 12:31 |
Помогите с 301 редиректом | Web программирование | 6 | 04.06.2011 14:37 |
Помогите с .htaccess! | Web программирование | 0 | 31.01.2011 03:22 |





