Yes, you can.
One solution that came fist that involves little backend and not little frontend and do not preserve the domain after clicking links is:
- In the administration - disable the field "Auto-redirect to Base URL" from the URL Options section in System > Configuration > Web
- Create simple module with helper which contains a method, for the example with name formatStrByDomain, that transforms string such as foo_%s_bar to foo_store1com_bar
In header.phtml you can replace <?php echo $this->getLogoSrc() ?>
with something like this:
<?php echo Mage::getBaseUrl('media') . '/wysiwyg/logos/' . Mage::helper('mymodule/myhelper')->formatStrByDomain('logo_%s_.png'); ?>
And then in an editor from the admin in the image gallery you can create folder named 'logos' and upload a logo with name logo_store1com.png
which will be used on the domain store1.com
Similar to this you can change cms blocks from the layout or directly from the template from which the cms block is called.
From the layout (The prefered way):
instead of
<block type="cms/block" name="cms_block.some_cms_block_from_layout">
<action method="setBlockId">
<identifier>some_cms_block_from_layout</identifier>
</action>
</block>
you will:
%s_some_cms_block_from_layout
From template files:
instead of
<?php echo $this->getChildHtml('some_cms_block_from_layout'); // or creating and outputing cms block ?>
You will:
<?php
$someCmsBlock = $this->getChildHtml('some_cms_block_from_layout'); // or creating a cms block
$someCmsBlock->setBlockId(Mage::helper('mymodule/myhelper')->formatStrByDomain('%s_some_cms_block_identifier'));
?>
And create a cms block(s) in the admin with identifier which looks like store1com_some_cms_block_identifier
It's up to you how you will manage the domains (through cpanel I suppose)