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

gregoro    21

Добрый день!
 
Нужна настройка файла 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

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


Ссылка на сообщение
Поделиться на другие сайты
gregoro    21

Задание выполнено

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


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

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

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