Как бы вы написали регулярное выражение для включения такого вида URL:
page/(various-option)
, где various-option
может быть что-то вроде:
page/gratis
page/gratis-images
page/weekly-images
page/yearly-images
page/yearly
page/images
(и все остальные комбинации параметров) В данный момент я использую что-то вроде этого:
RewriteRule ^page/((gratis)?\-?(weekly|yearly)?\-?(images)?)$ /page.php?options=$1 [L]
(Примечание: я пропустил другие параметры)
В переписывающем движке, который я написал, есть проблема, например, будет также проанализирован искаженный URL, например, такой:
page/-yearly-
Или еще хуже:
page/--images
Спасибо за любые предложения
ADD1:
weekly-gratis-weekly
неверно и должно быть отказано.
Всего 5 параметров (но я не думаю, что регулярное выражение изменилось бы, если бы их было 3)
И все параметры можно комбинировать (кроме одного, например, еженедельно | раз в год)
ADD2 (@tim):
порядок параметров важен.
Это недопустимо page/images-yearly-gratis
(но написанное мной регулярное выражение уже проверяет загрузчик) Правильный URL-адрес в этом случае
page/gratis-yearly-images