我想在网址是/预订时执行操作,但不是/预订/其他东西
我试过了......
if ($_SERVER['REQUEST_URI'] == '/bookings') {
// do stuff....
}
但是当用户在/预订页面上进行搜索时,它会失败,此时会将查询添加到网址,例如/预订?搜索=此
我也试过这个......
if (strpos($_SERVER['REQUEST_URI'],'/bookings') !== false && strpos($_SERVER['REQUEST_URI'],'/bookings/') == false ) {
// do stuff...
}
但这仍然在/预订/某事上执行,我无法弄清楚为什么?
答案 0 :(得分:2)
最好使用专用的URL解析方法,而不是使用字符串操作。 PHP的parse_url
函数非常适用于此:
$path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
if ($path === '/bookings') {
...
}
答案 1 :(得分:1)
试试这个条件。首先会做出精确的字符串。 seocnd与查询sring匹配
if ($_SERVER['REQUEST_URI'] == '/bookings' || strpos($_SERVER['REQUEST_URI'],'/bookings?') !== false) {
// do stuff....
}
或者在匹配false时使用===,否则0和false变为相等
if (strpos($_SERVER['REQUEST_URI'],'/bookings') !== false && strpos($_SERVER['REQUEST_URI'],'/bookings/') === false ) {