Пожалуйста помогите настроить "чистые ссылки" используя mod_rewrite на Apache.
Очень удобно использовать динамические виртуальные хосты(см. http://httpd.apache.org/docs/current/vhosts/mass.html). Я так и поступил. Однако вчера обнаружил большие грабли - не работают "чистые ссылки" через mod_rewrite.
Ошибка:
Request exceeded the limit of 10 internal redirects due to probable configuration error.Как только вместо
VirtualDocumentRoot "/home/www2/%0/docs/"пишу
DocumentRoot "/home/www2/km.my/docs/" и убираю перезапись как в доке http://httpd.apache.org/docs/current/rewrite/vhosts.html, то всё работает отлично. Но естественно другие сайты автоматом не подтягиваются.
Конфиг:
<VirtualHost *:80>
UseCanonicalName Off
ServerName km.my
ServerAlias km.my *.km.my
ServerAdmin km@localhost
#DocumentRoot "/home/www2/km.my/docs/"
VirtualDocumentRoot "/home/www2/%0/docs/"
DirectoryIndex index.php index.html index.htm
<Directory "/home/www2/">
Options Indexes FollowSymLinks
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
RewriteEngine On
RewriteMap lowercase int:tolower
RewriteCond %{REQUEST_URI} !^/cgi-bin/
RewriteRule ^/(.*)$ /home/www2/${lowercase:%{SERVER_NAME}}/docs/$1
RewriteCond %{REQUEST_URI} ^/cgi-bin/
RewriteRule ^/(.*)$ /home/www2/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [h=cgi-script]
<IfModule mpm_peruser_module>
ServerEnvironment apache apache
</IfModule>
</VirtualHost>