2011-05-03 90 views
0

我想我有一个问题,因为我在这个表达式中使用了两个关键的正则表达式值。正则表达式来连接字符串直到连字符

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

我这个被抓,当有人类型

domain.com/michigan-1999-football-schedule

。它目前不认识这个字符串与这个htaccess线,我99%它与正则表达式部分。我认为这是因为该线的[^ - ]部分。我希望这个抓取数据直到连字符,但我认为这是一个问题,因为两者都是正则表达式中的关键字符。

+0

'(脚|篮)(球)'可以写成'(足球)球'。 – Amber 2011-05-03 00:14:10

回答

1

这是为我工作。你有其他规则,你正在使用?

请确保您具备以下条件:

RewriteEngine on 
RewriteBase/
+0

长话短说,项目中的另一位开发人员将.htaccess中的所有内容都移至了apache,但我确信其他具有相同问题的人员需要考虑此选项,因此我会对其进行+1并标记为正确答案。 – 2011-05-03 02:53:07

0

我会建议你使用+而不是*,在情况下,一些领域将是空的:

RewriteRule ^([^-]+)-([^-]+)-((foot|basket)(ball))-schedule$ /schedule.php?sport=$3&school=$1&year=$2&schedule=true [NC,L] 
相关问题