【发布时间】:2010-04-23 21:51:02
【问题描述】:
我一直在与公司运营的现有网站合作,直到我完成新网站的开发。
有人要求我向预订页面添加一些附加功能,这些功能将根据传递的参数自动设置预订按钮。
现有的工作正则表达式如下:
RewriteRule ^.+-(\d+)\.accommodation$ property_detail.php?id=$1
与下面的 url 配合使用并通过 URL。
this-is-the-property-name.1234.accomodation
但是,作为一个快速的 shiv,我正在尝试执行以下操作:
this-is-the-property-name.1234.accomodation?override=true&start_date=2010-05-14&numbernights=2&sleeps=10&price=1012
为此我想出的正则表达式是:
RewriteRule ^.+-(\d+)\.accommodation\?override=(\w+)&start_date=(19|20)[0-9]{2}[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])&numbernights=(\d+)&sleeps=(\d+)&price=(\d+)$ property_detail.php?id=$1&override=$2&start_date=$3-$4-$5&numbernights=$6&sleeps=$7&price=$8
正则表达式在 RegexBuddy 中传递为有效 - 但是它一直在服务器上导致 500 错误。谁能帮我弄清楚这个问题?
【问题讨论】:
-
500 表示“出了点问题!查看错误日志!”。错误日志说明了什么?
标签: php regex apache url url-rewriting