Удаление строки из обратной ссылки RewriteRule - PullRequest
0 голосов
/ 24 мая 2011

Возникла небольшая проблема с созданной мной Apache Rewriterule.Код:

    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteCond %{REQUEST_URI} new$
    RewriteRule ^/json/([a-z0-9]+)/([a-z0-9\/]+)$ /json.php?api=$1&qs=$2&refresh=true [NC,L]
    RewriteRule ^/json/([a-z0-9]+)/([a-z0-9\/]+)$ /json.php?api=$1&qs=$2 [NC,L]

Вторая обратная ссылка "qs" сохранит параметр "new", но я хочу удалить его из строки запроса, переданной в json.php.Очевидно, что я мог бы сделать это на стороне сервера в PHP, но я бы хотел сохранить его как можно более аккуратным и потенциально добавить больше параметров в RewriteRule, которые я хотел бы исключить из параметра qs.

У кого-нибудь есть идеи?

1 Ответ

1 голос
/ 24 мая 2011

Вы должны быть в состоянии сделать это, изменив регулярное выражение в правиле перезаписи так, чтобы "new" было включено за пределы группы:

RewriteRule ^/json/([a-z0-9]+)/([a-z0-9\/]+)new$ /json.php?api=$1&qs=$2&refresh=true [NC,L]
...