我一直在使用现有的网站公司,直到我完成新网站的开发。
我被要求在预订页面上添加一些额外的功能,这些功能将根据传递的参数自动设置预订按钮。
现有的正则表达式如下:
RewriteRule ^.+-(\d+)\.accommodation$ property_detail.php?id=$1
与下面的网址一样正常,并通过网址。
this-is-the-property-name.1234.accomodation
然而,作为一个快速的人,我正在努力做到以下几点:
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错误。任何人都可以帮助我解决这个问题吗?
答案 0 :(得分:1)
您可以使用第一次重写并使用[QSA]标志附加查询字符串:
RewriteRule ^.+-(\d+)\.accommodation$ property_detail.php?id=$1 [QSA]