Perl / Lighttpd регулярное выражение - PullRequest
0 голосов
/ 24 марта 2012

Я использую regex в lighttpd для перезаписи URL-адресов, но я не могу написать выражение, которое делает то, что я хочу (что я считаю довольно простым, очевидно, нет, я, вероятно, что-то упускаю).

Скажите, что у меня есть этот URL: /page/variable_to_pass/ ИЛИ /page/variable_to_pass/

Я хочу переписать URL на этот адрес: /page.php?var=variable_to_pass

У меня уже есть правила, такие как ^/login/(.*?)$, для обработки определенных страниц, но я хотел сделать так, чтобы они могли соответствовать любой странице, не нуждаясь в одном выражении на страницу.

Я пробовал это: ^/([^.?]*), но оно соответствует целому /page/variable_to_pass/ вместо просто page.

Любая помощь приветствуется, спасибо!

Ответы [ 2 ]

2 голосов
/ 24 марта 2012

Это регулярное выражение должно делать то, что вам нужно

/([^\/]+)/(.+)

Первое совпадение будет именем страницы, а второе - значением переменной

1 голос
/ 24 марта 2012

Попробуйте:

/([^.?])+/([^.?])+/

Это должно дать вам два матча.

...