Finally, I resolved this issue with the help of this Reference link
Ran below query to find and delete duplicates,
Delete from url_rewrite where entity_type='product' and entity_id NOT
IN (Select entity_id from catalog_product_entity);
After deleting I ran upgrade-deploy and indexer commands and it's
working for me.
Hope it Helps.
In order to regenerate the URL rewrites in Magento 2,
Sign-in to the backend.
Navigate to Stores -> Configuration -> General -> Web
Expand the Search Engine Optimization section
Set the Use Web Server Rewrites to ‘Yes’.
Click the Save Config button to save your settings.
This might be relevant to this issue:
If you have a parent category with is_anchored = true and the product you are trying to remove from the parent exists on a child category this constraint will trigger.
I can't confirm if it exists in all cases, but we are using Elasticsearch which contains the catalog_category_product index and have a "Smart ...
I just tested this successfully on a fresh Magento 2.3.5 install.
Add the following line to the end of your .htaccess file at the root location of your Magento install:
RedirectMatch 301 ^/$ /test.html
Be sure to clear your browser cache before testing.
This redirects all URL requests to example.com over to example.com/test.html and still allows direct URL ...