2010-09-18 3 views
0

Мне нужна помощь при написании простого регулярного выражения для RewriteRule для mod_rewrite в htaccess. Итак, вот что я пытаюсь сделать:Помогите мне написать Regex RewriteRule для htaccess

books/2010-the-world-by-hopkins-139_PPS-1234567 

должны пойти

index.php?pagename=mypage&PPS=1234567&description=2010-the-world-by-hopkins-139 

Так, в pseducode, регулярное выражение должно разделить часть после books по _ и я должен получить его в две части:

  1. PPS (это всегда числовое число с 1 + переменным числом цифр). Это часть после _PPS-
  2. Описание (это всегда строка). Это часть, содержащая НИЧЕГО перед _.

Я думаю RewriteRule будет что-то вроде:

RewriteRule books/(.*)_(.*) index.php?pagename=mypage&PPS=$2&description=$1 

Но мне нужно правильное регулярное выражение. Помог Плеши.

ответ

1

что-то вроде: но переверните $ 1 и $ 2;)

^books/(.*)_PPS-([0-9]{1,})$ 
+0

Спасибо, он работал отлично. – WhatIsOpenID

+0

, пожалуйста, помните, что вы смешиваете VALIDATION данного url с REWRITING url в то же время, особенно во второй группе Regex. Подумайте о том, чтобы отделить его и всегда проверять повторы в index.php. –