mod_rewrite - установить _GET var из пути - PullRequest
1 голос
/ 28 февраля 2012

Как установить _GET var из path?

.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 ]

2 голосов
/ 28 февраля 2012

для 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 голосов
/ 28 февраля 2012

изменить:

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

на:

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

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

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