Задать вопрос
lightalex
@lightalex

Как добавить в url лишнюю часть с помощью .htaccess?

Всем привет!
Есть сайт domain.com
При заходе на сайт срабатывает скрипт определения страны и добавляет к url две буквы страны
Допустим мы зашли из России и тогда мы попадаем на domain.com/ru/
Как сделать так чтобы сервер воспринимал этот адрес как domain.com/?lg=ru ?

Разумеется любые файлы/директории должны обрабатываться нормально
Например:
domain.com/ru/account/ -> domain.com/account/?lg=ru
domain.com/ru/php/1/order.php -> domain.com/php/1/order.php?lg=ru


И еще момент
Сайт не должен крашится при добавлении или не добавлении слеша в конце
Например:
domain.com/ru/account/ -> domain.com/account/?lg=ru
domain.com/ru/account -> domain.com/account/?lg=ru


Как такое реализовать? Сам пробую, не получается :(
Кто шарит в htaccess, помогите пожалуйста!
  • Вопрос задан
  • 277 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
orlov0562
@orlov0562
I'm cool!
Вот тебе отправной пример:
RewriteEngine On
RewriteRule ^([^/]+)(/.+)$ $2?lg=$1 [QSA,D]
RewriteRule ^(.+)$ index.php?p=$1 [QSA]


в index.php
<?php
print_r($_REQUEST);


и запускаешь таким запросом:
localhost/ru/test/fed?f=f

получаешь такой ответ:
Array ( [p] => /test/fed [lg] => ru [f] => f )

дальше модифицируешь по вкусу
Ответ написан
Комментировать
@ShamblerR
RewriteCond %{REQUEST_URI} ^(.*)/dir1/(.*)$ 
# если строка содержит /dir1/ 
RewriteRule ^(.*)$ %1/dir2/%1 [R=301,L]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы