Вы не авторизованы.
На сайте настраиваются редиректы с http://сайт.com.ua/index.html, http://сайт.com.ua/index.php на адрес вида http://сайт.com.ua/ вот таким образом:
RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php|html)\ HTTP RewriteRule ^(.*)index\.(php|html)$ /$1 [R=301,L]
Отредактировано gora4o (2012-02-29 01:52)
Неактивен
gora4o написал:
На сайте настраиваются редиректы с http://сайт.com.ua/index.html, http://сайт.com.ua/index.php на адрес вида http://сайт.com.ua/ вот таким образом:
Код:
RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php|html)\ HTTP RewriteRule ^(.*)index\.(php|html)$ /$1 [R=301,L]
Не блокирует переход по ссылке из письма с уведомлением о заказе на страницу статуса заказа?
Неактивен
www.po.kiev.ua написал:
gora4o написал:
На сайте настраиваются редиректы с http://сайт.com.ua/index.html, http://сайт.com.ua/index.php на адрес вида http://сайт.com.ua/ вот таким образом:
Код:
RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php|html)\ HTTP RewriteRule ^(.*)index\.(php|html)$ /$1 [R=301,L]Не блокирует переход по ссылке из письма с уведомлением о заказе на страницу статуса заказа?
Все хорошо работает, тестировал лично)
Неактивен
А сможет кто-нибудь написать правило удаляющее в конце url два и больше слеша и оставляющее один завершающий?
Т.е. чтобы происходил редирект с ваш.сайт.ру//// на ваш.сайт.ру/
Неактивен
gora4o написал:
Обновил ссылку
Лучше на вебасисте бесплатный аккаунт откройте и туда положите, будет храниться.
Неактивен
а если прописать две любые буквы в конце, 404 не срабатывает. Как убрать кто знает?
site.ru=site.ru/любые две буквы
Неактивен
Попробуйте в файле published/SC/html/scripts/classes/class.furl.php заменить код метода __parsePath на вот такой:
function __parsePath(){ $path_parts = explode('/', $this->__path); $this->__path_settings = array(); $parts_num = count($path_parts); $i = 0; while($parts_num > $i++){ $part_value = array_shift($path_parts); if(!$part_value)break; switch ($i){ case 1: if(strlen($part_value) == 2){//It is language iso2 $languageEntry = LanguagesManager::getLanguageByISO2($part_value); if(!is_null($languageEntry)&&$languageEntry->enabled){ LanguagesManager::setCurrentLanguage($languageEntry->id, false); $this->__path_settings['language_iso2'] = $part_value; $this->__path_settings['get'] .= '&lang_iso2='.$part_value; } break; } if(in_array($part_value,array('facebook','vkontakte'))){ $this->__path_settings['store_mode'] = $part_value; $this->__path_settings['get'] .= '&store_mode='.$part_value; break; } default: switch ($part_value){ case 'referral': $this->__path_settings['get'] = '&refid='.array_shift($path_parts); continue; case 'category': if (!isset ($this->__path_settings['ukey'])){ //добавлено условие $this->__path_settings['category_slug'] = str_replace('.html', '', array_shift($path_parts)); $this->__path_settings['category_search'] = false; if(isset($path_parts[0]) && $path_parts[0] == 'search'){ $this->__path_settings['category_search'] = true; } $this->__path_settings['update_sys_handler'] = 'category'; } continue; case 'product_widget': $this->__path_settings['product_widget'] = true; case 'product': if (!isset ($this->__path_settings['ukey'])){ //добавлено условие $this->__path_settings['update_sys_handler'] = 'product'; $this->__path_settings['product_slug'] = str_replace('.html', '', array_shift($path_parts)); } continue; case 'blog': $part_value = 'news'; case 'news': $this->__path_settings['ukey'] = str_replace('.html', '', $part_value); if(isset($path_parts[0]) && strpos($path_parts[0], 'page')===0){ $this->__path_settings['page'] = intval(substr($path_parts[0], 4)); } if(intval($path_parts[0]) > 0) { $this->__path_settings['get'] = '&blog_id='.intval($path_parts[0]); } continue; case 'compare': $this->__path_settings['ukey'] = 'product_comparison'; $this->__path_settings['update_sys_handler'] = ''; continue; case 'myaccount': $this->__path_settings['ukey'] = 'office'; continue; case 'transaction': $this->__path_settings['ukey'] = 'transaction_result'; $this->__path_settings['get'] .= '&transaction_result='.array_shift($path_parts); continue; default: if(strpos($part_value, 'page')===0){ $part_value = str_replace('.html', '', $part_value); $this->__path_settings['get'] .= '&page='.intval(substr($part_value, 4)); }elseif(strpos($part_value, 'offset') === 0){ $part_value = str_replace('.html', '', $part_value); $this->__path_settings['get'] .= '&offset='.intval(substr($part_value, 6)); }elseif(strpos($part_value, 'all') === 0){ $this->__path_settings['get'] .= '&show_all=1'; }elseif(!array_key_exists('ukey', $this->__path_settings)){ $this->__path_settings['ukey'] = str_replace(array('.html','.php'), '', $part_value); } continue; } break; } } }
Неактивен
Кактоя в этой теме уже совсем запутался. Кому что не помогает фиг поймешь. 5 страниц обо всем на свете.
Неактивен
если прописать две любые буквы в конце, 404 не срабатывает. Как убрать кто знает?
site.ru=site.ru/любые две буквы
Попробуйте в файле published/SC/html/scripts/classes/class.furl.php заменить код метода __parsePath на вот такой:
Код .............. , который указал rat
Этот код не помогает избавиться.
site.ru/df ведет на site.ru
Неактивен
Мда, топик нужно переименовать в "вопросы обо всем"
Неактивен
Rusich написал:
Внесу лепту по поводу завершающего слеша в url:
Добавить завершающий слэш
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]
Удалить завершающий слэш
RewriteBase /
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)(/)$ $1 [L,R=301]
А то когда до топа децл не хватает и такие вещи становятся актуальны.
хорошее решение, но вот только оно не годится для магазинов webasyst.
После установки такого редиректа (в моем случае добавлял слеш в конце) перестает работать система оценки продуктов. При попытке поставить оценку продукту, пользователя перебрасывает на главную страницу, а адресная строка выглядит просто ужасающе, и после этого с каждым новым переходом по сайту, адресная строка все увеличивается в размерах добавляя все новые урлы в конце.
Есть у кого-нибудь более правильное решение как добавлять в конце адреса слеш??
Отредактировано mylnyi (2012-11-27 21:54)
Неактивен
Есть соответствующая тема с ответом: Как сделать редирект со страницы без слеша на страницу со слешем?
Неактивен
Всем привет. И всё таки по основной теме топика (про /shop/)
Решил убрать странички вида */shop/* в принципе реализацию я понял, но вот упадет ли сайт в выдаче Гугла если проиндексированы ссылки обоих видов? В яндексе ссылки */shop/* не проиндексированы, хотя в роботсе их не закрывал.
Если прописать 301 редирект и disallow: /shop - гугл адекватно отнесется к этому и просто поменяет ссылки, или в выдаче просядет сайт?
Заранее спасибо за ответы!
Неактивен
Kublyakov написал:
Если прописать 301 редирект и disallow: /shop
Если прописать 301 редирект, то в robots disallow: /shop/ писать не нужно.
Не должен просесть, чего ему просаживаться?
Неактивен
Я директору тоже самое сказал. Но он сказал уточнить Спасибо за ответ!
Неактивен
Если прописать 301 редирект, то в robots disallow: /shop/ писать не нужно.
Обратите только внимание на то, что disallow: /shop/ писать в роботс не нужно в случае если есть ридерект.
Т.е. если пропишите то от этого станет не лучше, а хуже (если есть уже проиндексированные страницы с /shop/ или внешние ссылки).
Отредактировано www.po.kiev.ua (2013-01-17 05:41)
Неактивен
а как сделать что б из категорий перенаправляло в имя категории то есть так сайт/category/ и сайт/product/ перенаправляло на просто сайт/videoregistratory/ и сайт/avtoregistrator-hd-dvr
у меня прописано так
RewriteRule ^category/(.*)$ /$1 [L,R=301] RewriteRule ^product/(.*)$ /$1 [L,R=301]
но что то не пашет подскажите плс
Неактивен
simons написал:
а как сделать что б из категорий перенаправляло в имя категории то есть так сайт/category/ и сайт/product/ перенаправляло на просто сайт/videoregistratory/ и сайт/avtoregistrator-hd-dvr
у меня прописано такКод:
RewriteRule ^category/(.*)$ /$1 [L,R=301] RewriteRule ^product/(.*)$ /$1 [L,R=301]но что то не пашет
подскажите плс
Эти УРЛы скрипт формирует, нужно делать доработку кода, а не редирект.
Неактивен
Уважаемый www.po.kiev.ua,
Пытаюсь решить проблему дублей, собрал с форума все варианты, но вот это побороть не могу, помогите пожалуйвста:
http://домен.ru/category/все что угодно
http://домен.ru/category/название подкатегории/////////////////////////////////////
http://домен.ru/category/название подкатегории%5B%5Djfs%5D%5Bylk%5Bplkhes/
вот мой .htaccess
# WebAsyst .htaccess config AddDefaultCharset UTF-8 Options -Indexes DirectoryIndex index.php RewriteEngine On RewriteCond %{HTTP_HOST} ^www.мойдомен.ru [NC] RewriteRule ^(.*)$ http://мойдомен.ru/$1 [L,R=301] RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteCond %{REQUEST_URI} !^.*vote.*$ RewriteRule ^(.*)$ /$1/ [R=301,L] RewriteRule ^(category|category/)$ / [NC,R=301,L] # for category RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)(/compare|/offset)(.*) RewriteRule ^category/(.*)/(.+) /category/$1 [NC,R=301,L] RewriteCond %{REQUEST_URI} !^(/en/|/category/|/vkontakte/)(.*) RewriteRule ^(.*)/category/(.*)$ /category/$2 [NC,R=301,L] RewriteCond %{REQUEST_URI} !^(/en/|/product/|/vkontakte/)(.*) RewriteRule ^(.*)/product/(.*)$ /product/$2 [NC,R=301,L] RewriteRule ^(category/|category)$ / [NC,R=301,L] RewriteRule ^category/([^/]+)$ http://%{HTTP_HOST}/category/$1/ [R=301,L,QSA] RewriteRule ^(.*)/category/([^/]+)$ http://%{HTTP_HOST}/$1/category/$2/ [R=301,L,QSA] RewriteRule ^product/([^/]+)$ http://%{HTTP_HOST}/product/$1/ [R=301,L,QSA] RewriteRule ^(.*)/product/([^/]+)$ http://%{HTTP_HOST}/$1/product/$2/ [R=301,L,QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)(/vkontakte|/compare|/offset|/all)(.*) RewriteRule ^category/(.*)/(.+) /category/$1 [NC,R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)(/vkontakte|/reviews|/\?view\=printable)(.*) RewriteRule ^product/(.*)/(.+) /product/$1 [NC,R=301,L] #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]
Неактивен
помогите решить деллему деллему, please !
Неактивен
beauti65 написал:
Пытаюсь решить проблему дублей, собрал с форума все варианты, но вот это побороть не могу, помогите пожалуйста:
http://домен.ru/category/все что угодно
http://домен.ru/category/название подкатегории/////////////////////////////////////
http://домен.ru/category/название подкатегории%5B%5Djfs%5D%5Bylk%5Bplkhes/
http://домен.ru/category/все что угодно - все что угодно в данном случае, это название категории.
http://домен.ru/category/название подкатегории///////////////////////////////////// Вопрос про Webasyst Shop-Script или Shop-Script 5 ? У Webasyst Shop-Script нет в URLах название подкатегории. // закрывается в robots.txt Disallow: *// (на всякий случай перепроверьте после изменения в инструментах Яндекса.)
Добавление %5D%5B к имени категории дает ошибку 404. Вы точно спрашиваете про Webasyst Shop-Script ?
Неактивен
Описанная проблема носит двоякий характер: с одной стороны дубли в Яндексе, с другой не корректно работающая 404 ошибка. Обе проблемы очень актуальные, т.е. и решать их надо обе. вот только как?
http://домен.ru/category/все что угодно - все что угодно в данном случае, это название категории.
ну так ведь не должно быть, чтобы несуществующая страница открывалась, должна 404 ошибка выскакивать, а она не выскакивает.
http://домен.ru/category/название подкатегории///////////////////////////////////// Вопрос про Webasyst Shop-Script или Shop-Script 5 ? У Webasyst Shop-Script нет в URLах название подкатегории. // закрывается в robots.txt Disallow: *// (на всякий случай перепроверьте после изменения в инструментах Яндекса.)
Вопрос про Webasyst Shop-Script, версия 306 (не обновляюсь тк доработок было оч. много)
Добавление %5D%5B к имени категории дает ошибку 404. Вы точно спрашиваете про Webasyst Shop-Script ?
у меня не выдает почему-то
Отредактировано beauti65 (2013-04-16 11:29)
Неактивен
beauti65 написал:
(не обновляюсь тк доработок было оч. много)
Дело, видимо, в доработках, ибо по дефолту такие урлы отдают 404.
Неактивен