Ситуация такова: необходимо создать один или несколько виртуальных хостов в Apache2 под CentOS 5.6 для нормальной работы сайта под CMS WordPress 3.2.1 Установка не с нуля, а перенос с предыдущего хостинг провайдера. Первым делом, как обычно был перенесен корректно сайт и база. По стандартному мануалу Apache2 были произведены настройки httpd.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/vhosts/example.com
ServerName example.com
ServerAlias example.com www.example.com
ErrorLog logs/example.com-error_log
CustomLog logs/example.com-access_log common
</VirtualHost>
Настройки .htaccess в корне сайта:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ — [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Но эти настройки не позволяли полноценно работать веб-ресурсу, при этом нормально работала только титульная страница, а страницы второго и дальше уровней сервер не находил. В итоге помогло решение с добавлением к настройкам VirtualHost в конфигурационный файл httpd.conf следующей записи:
<Directory /var/www/vhosts/example.com>
Options Indexes FollowSymLinks +Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>