-
Гость - myhelpers
Прямая ссылка301 редирект для мультиязычного сайта на Joomla 3 c 303 редиректом
Здравствуйте, уважаемые!
Прошу помочь решить следующую насущную для мультиязычного сайта на Joomla 3 и, думаю, многих других CMS, проблему:
При создании нескольких языковых версий сайта средствами мультиязычности самой CMS получается следующее:
http://domain.ru -с русским языком
http://domain.ru/ru/-русская версия сайта(является основным языком сайта)
http://domain.ru/en/-английская версия сайта
http://domain.ru/de/-немецкая версия сайта
и если средствами Joomla 3 удалять префикс /ru/ из адресной строки, то срабатывает 303 редирект, что есть нехорошо, т.к. для SEO нужен 301 редирект.
Если же не убирать префикс в настройках Joomla 3, то будет существовать domain.ru/ru/" rel="nofollow">domain.ru/ru/ и domain.ru с русским языком, т.е. дубли.
Как посредством .htaccess убрать префикс /ru/, т.е. сделать 301 редирект с domain.ru/ru/" rel="nofollow">domain.ru/ru/ -> domain.ru и чтобы в последующем переключение языков на сайте было корректным.
В течение 2-x недель поиска информации в интернете опробовал разные куски кода в htaccess, но рабочего варианта так и не нашел.
Распишите, пожалуйста, подробно как решить эту проблему, т.к. с этим вопросом не могут справится куча народа, как в русскоязычном сегменте интернета, так и зарубежом, либо опишите другие возможные варианты решения. Если вам несложно, то вышлите мне решение на почту myhelpers@mail.ru , чтобы быстрее смог его реализовать.
Если для кого-то это тривиально, то простите за незнание! :-)1 Нравится -
-
Ой, ну я прям засмущался))) Очень рад, что приношу счастье людям :P
0 Нравится -
Гость - Виталий
Прямая ссылкаХрень, ничего не понятно. Мне все это прописывать незная что это, и зачем? Нормально нельзя объяснить? Лишь бы что-нибудь написать, для веса сайта. Начать можно с того что после включения в админ панели перенаправления url меня перекидывает на сайт хостинга, и сайт не работает. Пойду искать другой сайт.
1 Нравится -
Виталий, я же написал комментарии для каждой строки. И у меня всё прекрасно работает (этот сайт на таком же .htaccess).
Под каждый сайт нужно настраивать индивидуально файлик. Методом проб и ошибок всё познаётся, поверьте мне.1 Нравится -
Подскажите почему этот код
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1.html [R=301,L]
RewriteRule ^(.*)/$ /$1.html [R=301,L]
он то нужен, но почему то отключает на сайте отправку комментариев, не подскажете как исправить? Есть ли решение и где копать1 Нравится -
Зравствуйте. Сделала все как вы описали, но почему то редирект не происходит.
1 Нравится -
Гость - Lalla78
Прямая ссылкаНе совсем понимаю что мне вообще делать.
Яндекс индексировал после установки 3 джумлы 2000 страниц. В индексе 177.
КАк удалить дубли, если Яша жует только дубли, убираю из поиска, а редирект не получается.
Мне надо убрать все, что имеет в ссылках index, component и т.п.
Можно ли написать так?
RewriteRule .* index.php [L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://*****.ru/ [R=301,L]
Redirect 301 /index.php?option=com_content&view=article&id=213:kak-svyazat-dlya-nachinayushchikh-samoe-legkoe&catid=93&Itemid=187 http://****.ru/rukodelie-podelki/vyazanie-kryuchkom/igrushki-kryuchkom-dlya-nachinayushchikh-foto-video-skhemy-opisaniya/213-kak-svyazat-dlya-nachinayushchikh-samoe-legkoe.html
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1.html [R=301,L]
RewriteRule ^(.*)/$ /$1.html [R=301,L]
Почему-то вариант с 301 редиректом где я меняю ссылку на ссылку у меня не сработал.0 Нравится -
Скажите пожалуйста куда на прописать эти коды
#Сжимаем компоненты сайта путем включения Gzip
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/j-avascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
#Защищаем сайт
#Включаем отслеживание сим-ссылок
Options +FollowSymLinks
#Блокируем все ссылки, содержащие <s-cript>
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
#Блокируем все скрипты, которые пытаются изменить переменные PHP Globals:
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
#Блокируем все скрипты, которые пытаются изменить переменную _REQUEST:
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
#Перенаправляем все подобные на страницу с ошибкой 403 - запрещено
RewriteRule ^(.*)$ index.php [F,L]0 Нравится
Комментарии (9)