Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: htaccess и язык
Форумы портала PHP.SU » Клиентская разработка » HTML, Дизайн & CSS » htaccess и язык

Страниц (1): [1]
 

1. Arch-Web - 04 Декабря, 2011 - 19:01:57 - перейти к сообщению
Вообщем хотел сделать такую штуку

к примеру есть
php.su/us/?get=catalog

надо вытащить язык, и добавить к ссылке
чтобы результат был
?lg=us&get=catalog

но вот не как не могу это сделать (
в гугле искал но так и не нашел решения (
2. Pimpys - 05 Декабря, 2011 - 00:16:39 - перейти к сообщению
Arch-Web пишет:
Вообщем хотел сделать такую штуку

к примеру есть
php.su/us/?get=catalog

надо вытащить язык, и добавить к ссылке
чтобы результат был


но вот не как не могу это сделать (
в гугле искал но так и не нашел решения (


if(Условие на ($_GET параметр)){
//Всякие проверки там и условия Улыбка
header("Location: index.php?lg=us&get=catalog");
die();
//Можно еще чтото придумать
}
(Добавление)
Или так не прокатит?Улыбка
3. Arch-Web - 05 Декабря, 2011 - 00:18:00 - перейти к сообщению
Pimpys, вы написали на языка php мне же надо на htaccess
4. Pimpys - 05 Декабря, 2011 - 00:23:20 - перейти к сообщению
Arch-Web пишет:
Pimpys, вы написали на языка php мне же надо на htaccess

Извените, затупил Улыбка Да на htaccess там походу по сложнее будет, для меня... ну вообщем я не силён в нём Улыбка
5. sKaa - 05 Декабря, 2011 - 00:35:07 - перейти к сообщению
Я не спец по .htaccess но вот такое решение вполне можно приспособить :
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. RewriteEngine On
  3. RewriteCond %{REQUEST_FILENAME} !-l
  4. RewriteCond %{REQUEST_FILENAME} !-f
  5. RewriteCond %{REQUEST_FILENAME} !-d
  6. RewriteRule .* index.php [L,QSA]
  7.  
  8.  

Тут вообще все запросы перенаправляются на index.php
Дальше пишем простенькую функцию чтобы разбить запрос :
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.         public function Route($n){
  4.                 /***
  5.                 *       Разбиваем строку $_SERVER['REQUEST_URI'] в массив
  6.                 ***/
  7.                 $url = explode('/', $_SERVER['REQUEST_URI']);
  8.                
  9.                 /***
  10.                 *       Проверяем имеется - ли в массиве данный индекс
  11.                 ***/
  12.                 $Result = (isset($url[$n])) ?  $url[$n] :  false;
  13.                
  14.                 /***
  15.                 *       Отсекаем все $_SERVER['QUERY_STRING']
  16.                 ***/
  17.                 $Result = explode('?', $Result);
  18.                
  19.                 /***
  20.                 *       Возвращаем результат
  21.                 ***/
  22.                 return $Result[0];
  23.         }
  24.  

CODE (htmlphp):
скопировать код в буфер обмена
  1. Таким образом :
  2. http://usite.ru/ru/catalog/get
  3. Можно обработать таким образом :

PHP:
скопировать код в буфер обмена
  1.  
  2. $lang = (Route(1)) ? Route(1) : 'ru';
  3. $action = (Route(2)) ? Route(2) : 'catalog';
  4. $arg = (Route(3)) ? Route(3) : 'get';
  5.  


Ну это я написал исходя из принципа "Единая точка входа"
6. Arch-Web - 05 Декабря, 2011 - 00:48:03 - перейти к сообщению
sKaa, та я вот тоже не спец по htaccess, но вот хочу такое сделать

чуток не подходит это, надо еще лишний php код писать

 

Powered by ExBB FM 1.0 RC1