To make Require host work, you have to make sure that reverse dns lookup for your domain works properly. This is done by PTR (pointer) records in your DNS. You can check it with the dig command like this:
$ dig +short www.google.de
172.217.22.67
$ dig +noall +answer -x 172.217.22.67
67.22.217.172.in-addr.arpa. 85372 IN PTR fra15s17-in-f3.1e100.net.
67.22.217.172.in-addr.arpa. 85372 IN PTR fra15s17-in-f67.1e100.net.
Note that the IP of the PTR record is reversed: 172.217.22.67 <=> 67.22.217.172
So www.google.com has a proper reverse dns entry.
If your domain has no reverse dns pointer set you will find an entry like this in your apache error log (unless you have configured it to be in a different location it should be /var/log/apache2/error.log):
[Wed Dec 05 16:18:23.854771 2018] [authz_core:error] [pid 4711] [client W.X.Y.Z:54050] AH01630: client denied by server configuration: /var/www/example.com/x
As a workaround you could just use Require ip:
<Location "/x">
Require ip W.X.Y.Z
</Location>
where W.X.Y.Z is your IP according to the entry in the error.log.
Hope this helps, if so I would be glad if you would accept the answer.
<Directory /var/www/x/>overriding the Location directive?