Ive had this several times.
1. If your starter motor is old, pull it out and either clean or rebuild the copper contacts inside. Or get a new starter.
2. If 1. doest work then check your wiring for the relay you can do several tests such as jumping the relay to pinpoint where your issue is.
I...