Имам 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