Регулярные выражения перезаписываются на дефисе, но допускают дефис в строке (.htaccess) - PullRequest
0 голосов
/ 04 мая 2011

RewriteRule ^([^-]*)-([^-]*)-((foot|basket)(ball))-schedule(/)?$ /yearschedule.php?sport=$3&school=$1&year=$2&schedule=true [NC,L] - текущий код.

Я обманываю и не понимаю, что в расписаниях баскетбола также будет дефис. Как бы я изменил этот код, чтобы переписчики могли правильно распознать годы баскетбольной страницы?

Не работает правильно

http://domain.com/michigan-1999-00-basketball-schedule 

Работает правильно

http://domain.com/michigan-1999-football-schedule

Проблема в том, что перезапись не распознает формат, потому что в глазах сервера она останавливает баскетбольные годы в 1999- | здесь | 00 вместо того, чтобы следовать. Я действительно не уверен, какой код я должен использовать, чтобы исправить это.

(регулярное выражение новичка)

1 Ответ

1 голос
/ 04 мая 2011

Попробуйте эту строку вместо:

RewriteRule ^([^-]*)-([^-]*)-((foot|(?:[^-]*-)?basket)(ball))-schedule/?$ /yearschedule.php?sport=$3&school=$1&year=$2&schedule=true [NC,L]

Будет соответствовать следующее:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...