Здравствуйте форумчане.
Вопрос состоит в следующем. При редиректе с без слеша на конце урлы на слеш происходит следующее. Все категории открываются нормально, но в карточке товара при добавлении слеша выходит ошибка 404. Как побороть?
Вот мой .htaccess.
#php_flag register_globals 0
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru%{REQUEST_URI} [L,R=301]
RewriteCond %{THE_REQUEST} ^.*/ajax_attrib_select_and_price/(.*)$
RewriteRule .* - [G]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
php_value disable_functions \"popen,exec,system,passthru,proc_open,shell_exec\"
AddDefaultCharset UTF-8
php_value memory_limit 100M
php_value upload_max_filesize 10M
php_value post_max_size 10M
И еще вопрос. Как побороть дубли такого плана?
сайт/категория1/подкатегория1/товар1
сайт/категория1/товар1
сайт/подкатегория1/товар1
Все они реально существуют. На один товар может быть до 4-5 разных урлов. Вопрос конечно в другом, как они попадут в индекс. Но у меня порядка 10 страниц попало все же как то.