Если вам все равно, получите ли вы параметр day
без значения, вы можете просто сделать это:
RewriteRule ^schedule(/(([a-zA-Z0-9-]+)/?)?)?$ index.php?_orn_shows_action=view-schedule&day=$3 [NC,QSA,L]
Это бы охватило следующие варианты:
/schedule
/schedule/
/schedule/day
/schedule/day/
Если вы хотите убедиться, что не получите пустой параметр day
, сделайте следующее:
RewriteCond $3 ="" [OR]
RewriteCond &day=$3 ^(.*)$
RewriteRule ^schedule(/(([a-zA-Z0-9-]+)/?)?)?$ index.php?_orn_shows_action=view-schedule&day=$3 [NC,QSA,L]
Наконец, если вы не ожидаете получить строку запроса из браузера по этим URL-адресам, я бы удалил тег QSA
, так как кто-то, переходящий на /schedule/monday?day=1
, в конечном итоге установит day
равным 1, вместо "понедельника". Есть способы предотвратить это, но если вам не нужна строка запроса, проще просто проигнорировать ее.