У меня довольно сложный набор правил перезаписи, чтобы дать моим страницам страницы довольно URL-адреса. Сейчас дело с подкачкой результатов поиска я использую 2 правила перезаписи:Mod Rewrite Необязательные параметры
RewriteRule ^search/([0-9]+)$ /cgi-bin/search.pl?page=$1 [NC,L,QSA]
RewriteRule ^search$ /cgi-bin/search.pl [NC,L,QSA]
Эти обработки URL-адреса, такие как:
http://example.com/search
http://example.com/search/2
http://example.com/search/1000
Я задаюсь вопросом, как объединить их в 1 правила переписывания так что скрипт search.pl вызывается правильно и только передал параметр страницы, если указана страница. Я знаю, что это довольно простой вопрос, но я не могу найти ответ нигде. Спасибо за вашу помощь!
Похоже, первые несколько ответов идут немного в неправильном направлении. Я думал больше о повторении регулярного выражения, чтобы параметры страницы были необязательными. Может быть, что-то вроде: RewriteRule^search (/ ([0-9] +))? $ /cgi-bin/search.pl?page=$1 [NC, L, QSA] Но он действительно должен работать. –
@ Russell C .: Замените '$ 1' на' $ 2', так как вы хотите совпадение второй группы скобок. – Gumbo
В URL-адрес внесены два отдельных изменения: (1) перейти в cgi-bin/search.pl и (2), если есть номер страницы, передать его как параметр. Логично, что это два RewriteRules. Почему вы хотите сделать это? –