Перейти к содержанию

Рекомендуемые сообщения

Добрый день!
 
Нужна настройка файла htaccess для возможности делать 301 редирект страниц внутри сайта.
Сейчас файл выглядит так


Options +FollowSymlinks

# 301 redirekt na bez www i na slash na konce
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1/'>http://%1/$1/ [L,R=301]

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} ![^\/]$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ http://%1/$1/'>http://%1/$1/ [L,R=301]

# Prevent Directoy listing
Options -Indexes


# Prevent Direct Access to files

Order deny,allow
Deny from all


# SEO URL Settings
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://pro-syr.ru/ [R=301,L]
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/

RewriteBase /
# RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^system/download/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

# ubiraem dubli
# RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
# RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/
RewriteRule ^index\.html$ / [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
RewriteCond %{QUERY_STRING} ^route=common/home$
RewriteCond %{REQUEST_METHOD} !^POST$
RewriteRule ^index\.php$ http://%{HTTP_HOST}? [R=301,L]


 
Правила собирались и гуглились по кускам, часть может противоречить друг другу...
 
Что нужно сделать:
Нужно дать мне работающий образец постраничного 301 редиректа страниц внутри сайта.
Т.е. написать образец, по которому я смогу страницу site.ru/cat1/ перенаправить на site.ru/cat2/
Очень желательно, чтобы в относительном формате.
 
В чем проблема:
Сейчас при такого вида редиректе
 

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

выдает ошибку "Сайт site.ru выполнил переадресацию слишком много раз."
 
При проверке на сайте http://www.bertal.ru/ выдает следующую зацикленную цепочку, которая повторяется много раз:
 


HTTP/1.1 301 Moved Permanently
Server: [/size]nginx[/size]
Date: [/size]Tue, 16 Aug 2016 13:52:04 GMT[/size]
Content-Type: [/size]text/html; charset=iso-8859-1[/size]
Connection: [/size]keep-alive[/size]
Location: [/size]http://site.ru?_route_=blog/[/size]
 
HTTP/1.1 302 Found
Server: [/size]nginx[/size]
Date: [/size]Tue, 16 Aug 2016 13:52:04 GMT[/size]
Content-Type: [/size]text/html[/size]
Connection: [/size]keep-alive[/size]
Set-Cookie: [/size]PHPSESSID=6d0da8bada71b8599a459b597e2eca09; path=/; HttpOnly[/size]
Expires: [/size]Thu, 19 Nov 1981 08:52:00 GMT[/size]
Cache-Control: [/size]no-store, no-cache, must-revalidate, post-check=0, pre-check=0[/size]
Pragma: [/size]no-cache[/size]
Set-Cookie: [/size]language=ru; expires=Thu, 15-Sep-2016 13:52:04 GMT; Max-Age=2592000; path=/; domain=pro-syr.ru[/size]
Set-Cookie: [/size]currency=RUB; expires=Thu, 15-Sep-2016 13:52:04 GMT; Max-Age=2592000; path=/; domain=pro-syr.ru[/size]
Location: [/size]http://site.ru/blog/[/size]


 
Нужно сохранить 301 редирект:
1) со страниц с www на без www  (т.е. основной домен - без www)
2) со страниц без слеша на конце на страницы со слешем  (оба этих пункта - в один редирект, т.е. www.site.ru/category  делает 301 редирект на site.ru/category/)
3) со страницы site.ru/index.php?route=common/home  на страницу site.ru
4) со страницы site.ru/index.php на страницу site.ru

Изменено пользователем gregoro

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×