2012-02-28 2 views
1

Как установить _GET var из пути?mod_rewrite - установить _GET var из пути

.htaccess

RewriteCond %{HTTP_HOST}  ^api\. [NC] 
RewriteCond %{REQUEST_URI}  !^/_api/([^/]+/)?([^/]+/)? [NC] 
RewriteRule ^(.*)$    /_api/?v=%1&k=%2 [L] 

URL-

http://api.domain.com/get_var1/get_var2/ 

код

echo "_GET\n"; 
print_r($_GET); 

результат

_GET 
Array 
(
    [v] => 
) 
(
    [k] => 
) 

ш шлем должен быть результат

_GET 
Array 
(
    [v] => get_var1 
) 
(
    [k] => get_var2 
) 

ответ

2

для URL-адреса типа:

http://api.domain.com/get_var1/get_var2/ 

ли это:

RewriteCond %{HTTP_HOST}  ^api\. [NC] 
RewriteCond %{REQUEST_URI}  !^/_api/ 
RewriteRule ^([^/]+)/([^/])/$ /_api/?v=$1&k=$2 [L] 
+0

спасибо .. это имеет смысл :) – clarkk

+0

@clarkk приветствуется. – ThinkingMonkey

0

изменение:

RewriteRule ^(.*)$    /_api/?v=%1 [L] 

к:

RewriteRule ^(.*)$    /_api/?v=$1 [L] 

фактически% 1 переменная генерируется из RewriteCond директивы а не RewriteRule один

+0

обновил свой вопрос .. Мне нужно установить несколько '_GET' вары – clarkk

+0

@clarkk вы не можете расколоть в сценарии PHP? особенно полезно для нескольких элементов на пути – user544262772

Смежные вопросы