I have my blog running at a server with ip real).

There is only one virtual host for this blog on the server.

Here is the apache configuration:

VirtualHost star:80
ServerName blog.example.com
ServerAlias blog.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/
RewriteEngine on
RewriteCond %{HTTP_HOST} ^[^.]+.example.com$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+).example.com/(.*) /var/www/$1
DirectoryIndex index.php

Directory /var/www/ AllowOverride All
Order Deny,Allow
Allow from all

My DNS blog.example.com is pointing to this ip address .

When I load first time blog.example.com it loads correct with no problems. But whenever i click a link it shows url like etc.

I am a newbie. Please help me set up this.
Is there any problem with the rewrite rule ?

1 Answer 1


The problem is the application generating URLS seems to be creating absolut URIs which your server is unable to handle because of your Server Configuration.

There are two possible solutions which come to mind:

Configure the Application correctly so it either creates relative URIs or if really needed absolute URIs with the correct host.

The dirty solution would be to put a ServerAlias directive in place to handle this:


It would be possible but not advisable to solve the problem with mod_rewrite as well. But this so terrible style I won't explain it.

  • Thanks pacey for the reply. There was problem with the application. Application was changing blog.example.com to ip address. Also mod rewrite is not required in this configuration.
    – Champion
    Dec 9, 2010 at 13:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .