/^php/
влияет только на строку, начинающуюся с php
. Поскольку свойство location.href
всегда включает протокол, ваш код ничего не делает.
Возможно, вы ищете /php$/
, который соответствует php в конце строки.
Чтобы избежать случайного обновления при активации букмарклета, вы можете использовать:
javascript:(function(){
if(/php$/.test(location.href)) location.href += '?action=debug';
})()