.htaccess.Перенаправление с условием перезаписи - PullRequest
0 голосов
/ 06 апреля 2011

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

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

мой .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

Ответы [ 2 ]

0 голосов
/ 06 апреля 2011

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

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

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

0 голосов
/ 06 апреля 2011

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


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

ErrorDocument 404 /error404.php

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...