Это должно быть близко к:
RewriteCond %{QUERY_STRING} !\.html$
RewriteRule ^([^/.]+)\.([^/.]+)/(.*) /www/$1.$2/index.php?file=$3 [QSA,NC,L]
Обратите внимание, что я добавил последнюю часть в качестве аргумента запроса для index.php
.
Кстати, кстати:
И если этого недостаточно:
Два совета:
Если вы не в хостингеокружение (= если это ваш собственный сервер и , вы можете изменять виртуальные хосты , а не только файлы .htaccess
), попробуйте использовать RewriteLog
директива: это поможет вам отследить такие проблемы:
# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On
Мой любимый инструмент для проверки регулярных выражений:
http://www.quanetic.com/Regex (не забудьте выбратьereg (POSIX) вместо preg (PCRE)!)