Из-за настройки обратного прокси мне нужно передать дополнительный запрос var, который прокси не может использовать mod_rewrite. Прокси находится в / search, однако я использую / find на всех страницах как mod_rewrite для / search для передачи запроса var s = gsacollection.
См. Пример:
# Direct link to search which passes collection var
# eg http://www.domain.com/find
RewriteRule ^find$ /search?s=gsacollection [NC]
#Rewrite all query vars
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^find(.*)$ /search?%1 [NC,L]
Я пытаюсь захватить несколько переменных для mod_rewrite, которые отправляются. Проблема в том, что я не всегда знаю, какие из них отправляются. Это попытка общего захвата их. Предложения?
Я хочу передать все строки запроса после / find? к / поиск?
Например, вот несколько примеров URI:
find?q=test&sort=date:D:L:d1&num=10&s=gsacollection&l=en&start=10
find?q=tfsa&sort=date:D:L:d1&num=10&s=gsacollection&l=en&filter=0
find?q=tfsa&filter=0&num=10&s=gsacollection&l=en&sort=date%3AD%3AS%3Ad1
Если общий захват не сработает, мне придется взглянуть на настройку нескольких правил RewriteCond, интересно, есть ли способ объединить их так, чтобы я мог передавать переменные из каждого условия в построить правило перезаписи (например, группа)?
# Grab everything after /find and replace with /search if these query vars exist
RewriteCond %{QUERY_STRING} q=(.*) [AND]
RewriteCond %{QUERY_STRING} s=(.*)
RewriteRule ^find(.*)$ /search$1