Hello Daniel,
you need to use multiple route-maps clauses for this
example
access-list 111 remark web traffic
access-list 111 permit tcp source wild any eq 80
access-list 112 remark DHCP
access-list 112 permit udp any any eq bootp
route-map myPBR permit 10
match ip address 112
set ip next-hop Nhop1
route-map myPBR permit 20
match ip address 111
set ip next-hop Nhop2
an empty final block is not needed for PBR applications all other traffic not matching will be routed by destination.
you need to apply it on interface(s) receiving traffic to be diverted
int fas0/0
ip policy route-map myPBR
another note:
usually DHCP traffic needs to be translated using an ip helper-address because client requests have non routable broadcast destination.
this is called DHCP relay and uses ip helper-address command
for this add to same interface(s)
int fas0/0
ip helper-address dhcp-server-ipaddr
multiple commands are allowed for redundancy the router will send a copy to each target server.
Hope to help
Giuseppe