Нужна помощь в настройке shop script

fubzy
На сайте с 16.01.2010
Offline
46
1326

Здравствуйте!

Движок сайта shop script

Мне надо решить следующие задачи:

1. Настроить 301 редирект с www.site.ru на site.ru;

2. Настроить 301 редирект с адресов без слеша на адреса со слешом, например, с site.ru/category/mobile на site.ru/category/mobile/;

Я решаю эти задачи через .htaccess так:

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

RewriteCond %{REQUEST_URI} !^/robots\.txt$

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

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_URI} !(.*)/$

RewriteRule ^(.*)$ /$1/ [R=301,L]

Но редирект с ввв на без ввв работает не корректно: с www.site.ru/category/mobile перебрасывает на site.ru/published...

А редирект на слешовый адрес вообще не работает.

Вот полное содержание файла .htaccess:

# User custom .htaccess config (/published/wbsadmin/html/configs/.htaccess.user)

CharsetSourceEnc utf-8

# WebAsyst .htaccess config

AddDefaultCharset UTF-8

DirectoryIndex index.php

RewriteEngine On

#shop

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^shop/(repo_themes|js|3rdparty|images_common|products_pictures|images|themes|css)/(.*)$ published/SC/html/scripts/$1/$2?frontend=1 [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^shop/(imgval.php|wbs_messageserserver.php) published/SC/html/scripts/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(repo_themes|js|3rdparty|images_common|products_pictures|images|themes|css)/(.*)$ published/SC/html/scripts/$1/$2?frontend=1 [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(imgval.php|wbs_messageserserver.php|get_file.php) published/SC/html/scripts/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^shop(.*) published/SC/html/scripts/$1&frontend=1 [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^photos/(album|view)/(.*) photos/index.php?q=$1/$2 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^photos/fullsize/(.*)/(.*) photos/getfullsize.php?filename=$1&hash=$2 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^photos/(.+)$ photos/index.php?q=$1 [L,QSA]

#common

RewriteCond %{REQUEST_FILENAME} !-f

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

RewriteCond %{REQUEST_FILENAME} !-f

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

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^published/$ published/index.php [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} !^published

RewriteRule (.*) published/SC/html/scripts/index.php?__furl_path=$1&frontend=1 [QSA]

Просьба помочь решить указанные выше задачи.

Спасибо.

К чёрту обстоятельства, создавай возможности!
siv1987
На сайте с 02.04.2009
Offline
427
#1

Все редиректы надо ставить перед реврайтами и сортировать их по приоритету

fubzy
На сайте с 16.01.2010
Offline
46
#2
siv1987:
Все редиректы надо ставить перед реврайтами и сортировать по приоритетам

Я ставил после.

Сейчас попробую так, siv1987

fubzy добавил 08.07.2011 в 14:40

siv1987, как всё просто! Работает!

Спасибо :)

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