A while ago I already posted an article about problems getting SEF URL's work on 1&1-s servers and thought I know how to deal with the idiosyncrasies of 1&1's (very unprofessional) server settings. I was wrong...
Yesterdays I was asked to move a site to these crappy servers, an the move itself was done (thanks for Akeeba!!) in no time. Then applied the fixes I was aware of, the site's frontpage nicely came up... then disaster - each inner page was gone.
To make the long story short (I lost couple of hours while was absolutely sure on what caused the disaster and how can be fixed) the solution is simpler - and sillier - then someone can think. In the standard Joomla htaccess.txt file is a line which in most servers is simply useless, even if the site is hosted somewhere outside of WEBROOT, in some subdirectory:
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root)
# RewriteBase /
The last line is the one needing your attention. As you see, the line is there to serve to you as a starting point in fixing mod_rewrite related problems, especially if the site is hosted in a subdirectory. Guess what: 1&1's badly set up mod_rewrite needs this line!!. so to have a properly working SEF URL on these servers you need to uncomment this line:
and your Joomla site's SEF URL's (netive or enhanced by a good SEF component, like sh404SEF) will work like a charm. Silly, but true.