You've come to this page because you've asked a question similar to the following:
I have my own content DNS and content HTTP services. Everyone can use http://www.example.com./ to see my web pages. How do I configure things so that everyone can use http://example.com./ as well ?
This is the Frequently Given Answer to such questions.
It's very simple:
Add a record to your DNS database, mapping example.com. to the same IP address that www.example.com. already maps to.
Configure your content HTTP server to understand the hostname example.com. just as it already understands www.example.com..
The record that you add to your DNS database cannot be a client-side alias (i.e. a CNAME resource record). example.com. is a delegation point in the namespace graph, and delegation points cannot be client-side aliases. You have three options:
Just add the example.com. record, and manually maintain it in parallel with the existing www.example.com. record.
Use server-side aliases, if your content DNS server software supports them, so that the server ensures that example.com. and www.example.com. have identical IP address information.
Do things the other way around and make www.example.com. a client-side alias for example.com..
How you add the record depends from your choice of content DNS server software:
If you are using Daniel J. Bernstein's djbdns, simply run the following commands:
cd /service/tinydns/root ./add-alias example.com. 192.0.34.166 make
To employ server-side aliases, simply generate both the example.com. and the www.example.com. lines from a common template, using awk or some such tool.
If you are using Microsoft's DNS server, add a "host" record in the documented manner to the example.com. "zone". The only thing to remember is that for the record to be owned by the domain name example.com. itself the "Name" field in the dialogue box must be left blank.
Be aware that a Microsoft Windows Domain Controller may mess this up by overwriting the record that you have just added, once per hour.
If you are using ISC's BIND, do the following:
Edit the "zone" file for example.com., whatever you have chosen that to be, and add the line
@ IN A 86400 192.0.34.166
Increment the serial number in the SOA resource record.
Tell BIND to re-load the "zone" using
rndc reload example.com
Check BIND's log to see that the "zone" loaded successfully.
For other content DNS server softwares, consult the documentation.
For best results, make sure that your content HTTP server is not sensitive to the presence or absence of a trailing dot. Users who don't want their web browsers to be subject to "DNS search list spoofing" may use fully qualified domain names in URLs. You should support them.
How you add the website alias depends from your choice of content HTTP server software:
If you are using Daniel J. Bernstein's publicfile, simply run the following commands:
cd /public/file ln -s www.example.com. example.com. ln -s www.example.com example.com
If you haven't done so already, now is the time to also run:
ln www.example.com www.example.com.
If you are using Microsoft's HTTP server, add example.com. and example.com as a second and a third "host header name" to the www.example.com. website, in the documented manner.
For other content HTTP server softwares, consult the documentation.