Проблемка такая возникла, не могу правильно соединить два запроса .htaccess
Во-первых надо, чтобы вел 301 редирект с сайта с www на без www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.ru$ [NC]
RewriteRule ^(.*)$ http://example.ru/$1 [R=301,L]
Во-вторых, обычный mod rewrite урлов, чтоб они выглядели типо http://example.ru/page.html
RewriteRule ^(.*).html$ index.php?route=$1 [L,QSA]
надо чтобы с http://www.example.ru/page.html редиректилось на http://example.ru/page.html, но чото то одно не работает, то другое, то с http://www.example.ru/page.html редиректит на http://example.ru/index.php?route=page, то ваще ничего не происходит
Кто в этом силен

Спустя 16 часов, 38 минут, 45 секунд (15.04.2011 - 16:06) Slays написал(а):
эксперты, хелп

Спустя 1 час, 50 минут, 13 секунд (15.04.2011 - 17:56) Stuff_f написал(а):
RewriteEngine On
RewriteBase /
# В переменную окружения %{ENV:PROTOCOL} помещаем протокол
RewriteRule ^(.*)$ - [E=PROTOCOL:http]
RewriteCond %{HTTPS} ^on$ [NC]
RewriteRule ^(.*)$ - [E=PROTOCOL:https]
# Если нужно убираем www
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ %{ENV:PROTOCOL}://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ %{ENV:PROTOCOL}://%1:%{SERVER_PORT}%{REQUEST_URI} [R=301,L]
</IfModule>
RewriteBase /
# В переменную окружения %{ENV:PROTOCOL} помещаем протокол
RewriteRule ^(.*)$ - [E=PROTOCOL:http]
RewriteCond %{HTTPS} ^on$ [NC]
RewriteRule ^(.*)$ - [E=PROTOCOL:https]
# Если нужно убираем www
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ %{ENV:PROTOCOL}://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ %{ENV:PROTOCOL}://%1:%{SERVER_PORT}%{REQUEST_URI} [R=301,L]
</IfModule>
Спустя 3 часа, 54 минуты, 25 секунд (15.04.2011 - 21:51) Slays написал(а):
как то тут сложно все, не понятно, все равно же с этим
совместить не получается, тут только 301-й редирект.
RewriteRule ^(.*).html$ index.php?route=$1 [L,QSA]
совместить не получается, тут только 301-й редирект.

Спустя 13 минут, 44 секунды (15.04.2011 - 22:05) Stuff_f написал(а):
я не пойму вам нужно убрать WWW или я не правильно понял?
Спустя 5 минут, 9 секунд (15.04.2011 - 22:10) Stuff_f написал(а):
если убрать то вот
проще:
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^/?(.*) http://%1/$1 [L,R=permanent]
проще:
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^/?(.*) http://%1/$1 [L,R=permanent]
Спустя 46 минут, 34 секунды (15.04.2011 - 22:56) Slays написал(а):
Stuff_f
с WWW нужен 301 редирект на БЕЗ WWW, но в тоже время и данное условие работать должно:
т.е. по сути все страницы имеют адреса типа
http://site.ru/index.php?route=about
через mod rewrite мы переделываем их в
http://site.ru/about.html
но при этом и с www есть
http://www.site.ru/about.html
добавляю редирект, открываю http://www.site.ru/about.html и вместо нужного http://site.ru/about.html открывается http://site.ru/index.php?route=about
не могу вот совместить эти два условия
с WWW нужен 301 редирект на БЕЗ WWW, но в тоже время и данное условие работать должно:
RewriteRule ^(.*).html$ index.php?route=$1 [L,QSA]
т.е. по сути все страницы имеют адреса типа
http://site.ru/index.php?route=about
через mod rewrite мы переделываем их в
http://site.ru/about.html
но при этом и с www есть
http://www.site.ru/about.html
добавляю редирект, открываю http://www.site.ru/about.html и вместо нужного http://site.ru/about.html открывается http://site.ru/index.php?route=about
не могу вот совместить эти два условия

Спустя 7 минут, 3 секунды (15.04.2011 - 23:03) Stuff_f написал(а):
после RewriteEngine On добавьте:
RewriteCond %{HTTP_HOST} ^www.example.ru$ [NC]
RewriteRule ^(.*)$ http://example.ru/$1 [R=301,L]
вот пробуйте
RewriteCond %{HTTP_HOST} ^www.example.ru$ [NC]
RewriteRule ^(.*)$ http://example.ru/$1 [R=301,L]
вот пробуйте
Спустя 4 минуты, 3 секунды (15.04.2011 - 23:07) Stuff_f написал(а):
можно и через редирект делать
таким способом
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.newdomain.ru/newdir/newpage.htm");
exit();
?>
таким способом
Спустя 2 минуты, 33 секунды (15.04.2011 - 23:10) Stuff_f написал(а):
Спустя 17 минут, 53 секунды (15.04.2011 - 23:28) Slays написал(а):
блин, странно, ведь именно данный способ я с самого начала и пробовал
все работает теперь, видимо не в том порядке указывал или опечатался где-то.
В любом случае спасибо !!!
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.ru$ [NC]
RewriteRule ^(.*)$ http://example.ru/$1 [R=301,L]
все работает теперь, видимо не в том порядке указывал или опечатался где-то.
В любом случае спасибо !!!
Спустя 2 минуты, 58 секунд (15.04.2011 - 23:31) Stuff_f написал(а):

_____________
если помог, не скупись на карму =)