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- | here | 00停止篮球年,而不是通过。我真的不确定我应该使用什么代码来解决这个问题。
(正则表达式新手)
答案 0 :(得分:1)
请尝试使用此行:
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-basketball-schedule
http://domain.com/michigan-1999-football-schedule