Настройка в htaccess

S
На сайте с 10.02.2009
Offline
93
790

Всем доброго времени суток. Обнаружил одну проблемку с настройкой htaccess. Прописано в нем автоматический редирект с домена без ввв на домен с ввв, все работает, но! если провалиться внутрь сайта, к примеру открыть какую либо статью и убрать ввв из строки адреса и нажать перейти, то он переходит на главную страницу сайта, но с ввв, а должен подставлять ввв на эту же страницу, не уходя с нее. Подскажите, что нужно добавить в htaccess чтобы решить эту проблему?

сейчас написано вот что:

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

RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]

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

что нужно изменить чтобы было правильно? Спасибо

A4
На сайте с 24.08.2015
Offline
62
#1

Почитайте аналогичную тему /ru/forum/808581

S
На сайте с 10.02.2009
Offline
93
#2
Alexeevi4:
Почитайте аналогичную тему /ru/forum/808581

спасибо большое, походу верхняя строка лишняя.

S
На сайте с 10.02.2009
Offline
93
#3
SVanger:
спасибо большое, походу верхняя строка лишняя.

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

M2
На сайте с 12.12.2015
Offline
7
#4

У меня на всех доменах стоит следующее:


RewriteEngine On
RewriteCond %{HTTP_HOST} ^mydomain\.ru$ [NC]
RewriteRule ^(.*)$ http://www.mydomain.ru/$1 [R=301,L]
S
На сайте с 10.02.2009
Offline
93
#5
Mike255:
У меня на всех доменах стоит следующее:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^mydomain\.ru$ [NC]
RewriteRule ^(.*)$ http://www.mydomain.ru/$1 [R=301,L]

А Вы на внутряках пробовали убирать ввв в адресе? редиректит на главную или подставляет ввв и остается на этом внутряке?

Владимир
На сайте с 10.07.2006
Offline
154
#6

У меня так:

RewriteCond %{HTTP_HOST} ^doski\.ru$
RewriteRule (.*) http://www\.doski\.ru/$1 [NE,R=301,L]

Проверяем: http://doski.ru/cat-nedvizhimost/ работает.

Наверное точки надо экранировать в www.mydomain.ru

S
На сайте с 10.02.2009
Offline
93
#7
Tvolod:
У меня так:

Проверяем: http://doski.ru/cat-nedvizhimost/ работает.

Действительно работает. Помогите разобраться, почему не работает у меня? редиректит на главную и все тут. Верхнюю строку убираю-внутряки на 404 вываливают. В чем дело то, весь инет перелопатил уже. С экраном точек попробую, но мне кажется это не решит проблему(

N
На сайте с 08.10.2011
Offline
188
#8

SVanger, редирект убери, что после этого происходит?

J
На сайте с 20.02.2014
Offline
120
jkm
#9

Правила применяются одно за другим в то том порядке, в котором записаны.


RewriteRule ^(.*)$ /index.php [L]
RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

Первое правило отвечает за ЧПУ и направляет все запросы на /index.php

Второе правило делает редирект на www, но так как первое правило уже поменяло адрес, то редирект всегда будет на адрес www.site.ru/index.php

Правила для редиректа должны срабатывать первыми, т.е. до того как правила для ЧПУ что-нибудь поменяют.


RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

RewriteRule ^(.*)$ /index.php [L]
S
На сайте с 10.02.2009
Offline
93
#10
jkm:
Правила применяются одно за другим в то том порядке, в котором записаны.
Первое правило отвечает за ЧПУ и направляет все запросы на /index.php
Второе правило делает редирект на www, но так как первое правило уже поменяло адрес, то редирект всегда будет на адрес www.site.ru/index.php
Правила для редиректа должны срабатывать первыми, т.е. до того как правила для ЧПУ что-нибудь поменяют.

на денек бы пораньше Ваше сообщение прочитать) я опытным путем 5 минут назад пришел к этому выводу, подумал может у меня правила не в том порядке и поменял их местами, и заработало, а потом прочитал Ваше сообщение))) Спасибо Вам огромное за помощь, всем спасибо кто откликнулся на мою проблему. Тему можно закрыть, + к опыту получен)

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