Apache's mod_userdir allows users to view their sites by entering a tilde(~) and their username as the uri on a specific host. For example http://test.cpanel.net/~fred/ will bring up the user fred's domain. The disadvantage of this feature is that any bandwidth usage used by this site will be put on the domain it is accessed under (in this case test.cpanel.net). mod_userdir protection prevents this from happening. You may however want to disable it on specific virtual hosts (generally shared ssl hosts.)
We have enabled mod_userdir Protection for all our users but some our clients want to view their website via For example http://test.cpanel.net/~fred/
in this section there is mentioned that You may however want to disable it on specific virtual hosts (generally shared ssl hosts.)
but when i select a domain which i want to disable mod_userdir Protection & then ticked marked on Exclude Protection check box then i have restarted apache web server but still i am unable to view selected domain via IP based
as linux-engineer above mentioned, sometimes cPanel doesn't necessarily update the main apache config in the way that it should.
You've got a couple of different options here, but really you're looking for easyapache on cPanel.
From a root command prompt, you can do '/scripts/easyapache', select 'last known build', and hit next until you start to see it grabbing source and compiling it. This will take a bit of time and make sure you don't close the terminal while you do this.
From WHM scroll down to "Software" and click "Update Apache", this is just a web frontend for the script I mentioned above. Select last known good config, don't change any options and walk it through by clicking "next" until it rebuilds itself.