As a best practice, it is recommended to use only lowercase URLs on your website. This can be achieved by setting the lowercaseUrls attribute of the LinkManager provider in the Sitecore.
For Sitecore 9 and lower version
The default link provider is Sitecore. If you have implemented the custom link provide, set the value of the default provider accordingly:
<?xml version="1.0"?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<linkManager defaultProvider="sitecore">
<providers>
<add name="sitecore">
<patch:attribute name="lowercaseUrls">true
</patch:attribute>
</add>
</providers>
</linkManager>
</sitecore>
</configuration>
The default link provider is Sitecore. Sitecore 9.1 introduced urlBuilder used for building items URL. The following config works for Sitecore 9.1 and above.
<?xml version="1.0"?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<links>
<urlBuilder>
<lowercaseUrls>true</lowercaseUrls>
</urlBuilder>
</links>
</sitecore>
</configuration>