.htaccess. Перенаправление с условием перезаписи

#apache #.htaccess

#apache #.htaccess

Вопрос:

Как сделать перенаправление с site.com /ru/blablabla для site.com/blablabla ??

И еще одно, если по ссылке site.com/en/blablabla сервер возвращает 404, затем мне нужно перенаправить на site.com/blablabla

my .htaccess:

     ########## Begin - Joomla! core SEF Section
#
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]
#
########## End - Joomla! core SEF Section

######### MY RULES #########
RewriteCond %{REQUEST_URI} /ru/(.*)
RewriteRule (.*)$ /%1
  

Комментарии:

1. Является ли это специфичным для » ru » или любого другого слова? То же самое и для «en»…

Ответ №1:

Можете ли вы удалить все строки под ######### MY RULES #########
line и поместить эту строку:

 RewriteRule ^(en|ru)/(.*)$ /$2 [R,L]
  

Это позаботится как о URL-адресах /ru/foo, так и /en /foo.

Ответ №2:

Прежде всего: добавьте RewriteEngine on в верхней части файла .htaccess


Попробуйте это правило: для ru и 404

 ErrorDocument 404 /error404.php

RewriteCond %{REQUEST_URI} /ru/(.*)
RewriteRule (.*)$ /%1
  

в этом случае (английская версия) я могу предложить вам проверить HTTP_REFERER в errordocument (в приведенном выше случае его error404.php )… и перенаправьте запрос на соответствующую страницу… (в вашем случае это /blablabla)

Надеюсь, вы поняли мою точку зрения .. 🙂

Комментарии:

1. Мой сайт многоязычный. Теперь f1u.org — русский, f1u.org/en — русский. Вчера была запущена русская версия f1u.org/ru . Итак, я хочу перенаправить все URL-адреса f1u.org/ru * в f1u.org *

2. Другая проблема: Google проиндексировал эту страницу: f1u.org/en/its-interesting/166-cricri , но его больше не существует. Я хочу сделать перенаправление на ту же русскоязычную страницу f1u.org/its-interesting/166-cricri если сервер возвращает 404 . Итак, мне нужно какое-то правило, которое перенаправит все 404 английские ссылки на русские.

3. Можете ли вы опубликовать свой файл .htaccess. потому что я попробовал то же правило в своем домене, и оно работает нормально…