LinuxForum.Fans
Тема

Apache - Динамические виртуальные хосты и mod_rewrite

Автор: Semyon_Litvinov 1 сообщений 2303 просмотров
#357918

Пожалуйста помогите настроить "чистые ссылки" используя mod_rewrite на Apache.

Очень удобно использовать динамические виртуальные хосты(см. http://httpd.apache.org/docs/current/vhosts/mass.html). Я так и поступил. Однако вчера обнаружил большие грабли - не работают "чистые ссылки" через mod_rewrite.

Ошибка:

text
Request exceeded the limit of 10 internal redirects due to probable configuration error.

Как только вместо

text
VirtualDocumentRoot "/home/www2/%0/docs/"

пишу

text
DocumentRoot "/home/www2/km.my/docs/"

и убираю перезапись как в доке http://httpd.apache.org/docs/current/rewrite/vhosts.html, то всё работает отлично. Но естественно другие сайты автоматом не подтягиваются.

Конфиг:

text

<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>

Войдите или зарегистрируйтесь, чтобы ответить.