У меня есть система CMS, которая преобразует некрасивые URL-адреса в более удобные.
До сих пор вместо URL-адреса страницы было что-то вроде этого:
/pagebase.php?id=3644
У меня есть настройка записи URL для каждой страницы, чтобы сделать ее более удобной.
Например:
RewriteRule ^/events$ /pagebase.php?id=3644 [I]
Так что, когда пользователь вводит domain.com/events, он появляется над URL-адресом.
Это работает почти для всех страниц, кроме этой, где мне нужно добавить дополнительные строки запроса, чтобы я мог сделать что-то подобное.
www.domain.com/events?y=2010=&m=&1d=2
Это было бы переписано как
www.domain.com/pagebase.php?id=3366&y=2010=&m=&1d=2.
Единственная проблема заключается в том, что сопоставление записи URL-адреса не удается, потому что он не видит ?y=2010=&m=&1d=2 как строку запроса, он видит его как часть URL-адреса и терпит неудачу.
Мне нужно изменить файл перезаписи, чтобы разрешить передачу строк запроса.
Я хочу сделать что-то вроде RewriteRule ^/events-%QUERYSTRING% $ /pagebase.php?id=3644 + %QUERYSTRING% [I]
Где он удаляет строку запроса из совпадения, но затем добавляет ее в конец написанного URL-адреса. У меня просто недостаточно знаний о том, как работает переписывание URL-адресов, чтобы сделать это.
Вот пример моего файла перезаписи.
RewriteRule ^/events$ /pagebase.php?id=3644
RewriteRule ^/faqs$ /pagebase.php?id=3659
RewriteRule ^/gallery$ /pagebase.php?id=3645
RewriteRule ^/gifts$ /pagebase.php?id=3646
Мне нужно что-то, что будет работать на всех страницах, я не хочу изменять каждое правило для обработки определенных строк запроса, мне просто нужны общие решения, которые будут передавать строки запроса.
RewriteRule ^/events$ /pagebase.php?id=3644&%{QUERY_STRING} [L]
- person Bjørne Malmanger   schedule 13.01.2013