Опять mod_rewrite...

Помогите!
Пожалуйста посоветуйте.
Есть сайт на Joomla, с родным .htaccess и c автом.поддоменами vhost:

<VirtualHost *:80>
ServerName example.ru
ServerAlias *.example.ru
DocumentRoot /var/www/htdocs/example.ru
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example.ru$
RewriteCond %{HTTP_HOST} ^((.*)\.)example.ru$
RewriteRule ^/(.*) /%2/$1
ErrorLog "/var/log/httpd/example.ru-error_log"
CustomLog "/var/log/httpd/example.ru-access_log" common
</VirtualHost>


Все вроде работает, простую страницу html из поддомена типа aaa.example.ru/ из папки /var/www/htdocs/example.ru/aaa открывает, rewrite работает.

.htaccess сайта example.ru на Joomla:


AddDefaultCharset utf-8

#  Следующие строки - попытка исправить настройки PHP
#  для полного соответствия системным требованиям Joomla.
#  Раскомментируйте (символ комментария - #) нужные строки,
#  если настройки вашего хоста не соответствуют рекомендациям
#  системных требований Joomla.
#  При возникновении 500 ошибки сервера, закомментируйте строку, вызывающую
#  ошибку, или все строки с php_flag.

#  php_flag register_globals Off
#  php_flag display_errors Off
#  php_flag file_uploads On
#  php_flag allow_url_fopen off
#  php_flag magic_quotes_gpc On
#  php_flag magic_quotes_runtime Off


#  Пример явного указания каталога для записи сессий:
#  Для Windows - c:/temp
#  для UNIX  - /tmp

#  Указанный каталог должен физически существовать и быть доступен для записи

#  При необходимости, раскомментируйте строку ниже этой
#  php_value session.save_path c:/temp


##  Может быть закомментировано, если вызывает ошибку сервера. Смотрите примечания выше.
Options +FollowSymLinks

#  Включение mod_rewrite

RewriteEngine On

## Код запрета доступа к xml-файлам расширений (раскомментируйте для активации)
#<Files ~ "\.xml$">
#Order allow,deny
#Deny from all
#Satisfy all
#</Files>
## Конец кода запрета доступа к xml-файлам

# Блокировать любой запрос, пытающийся установить значение mosConfig через URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Блокировать любой запрос, пытающийся испортить base64_encode через URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Блокировать любой запрос, содержащий тег <script> в URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Блокировать любой запрос, пытающийся установить значение глобальных переменных PHP через URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Блокировать любой запрос, пытающийся изменить _REQUEST переменную через URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Перенаправлять заблокированные запросы на страницу 403 с запрещенными ошибками!
RewriteRule ^(.*)$ index.php [F,L]

#  Раскомментируйте следующую строку, если URL вашего web-сервера
#  не связаны напрямую с физическими путями файлов.
#  Обновите ваш каталог Joomla (используйте "/" для обозначения корня сервера)

#RewriteBase /


########## Начало раздела SEF ядра Joomla!
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## Конец раздела SEF ядра Joomla!


И файл сайта в папке aaa:

AddDefaultCharset UTF-8
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php
AddType text/x-component .htc


# Protect files and directories from prying eyes.
<FilesMatch "\.(engine|inc|info|install|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl|svn-base)$|^(code-style\.pl|Entries.*|Repository|Root|Template|all-wcprops|entries|format)$">
  Order allow,deny
</FilesMatch>

# Don't show directory listings for URLs which map to a directory.
Options -Indexes

# Follow symbolic links in this directory.
Options +FollowSymLinks


Этот я здесь нашел на сайте.

Замучился уже читать мануалы, чего только не пробовал, бесполезно. Одну строчку надо всего.
Знаю что совсем просто где-то, да спросить поблизости некого.
Что не так? Только начальная страница, все остальные ошибка 500.

2 комментария

avatar
Да, забыл написать, в папке config с LS все сделано по рекомендациям:

файл config.local.php
$config['path']['root']['web'] = 'http://aaa.example.ru';
$config['path']['root']['server'] = '/var/www/htdocs/example.ru/aaa';
$config['path']['offset_request_url'] = '1';


файл config.php
$config['path']['root']['web']        = 'http://'.$_SERVER['HTTP_HOST'].'/aaa';
$config['path']['root']['server']     = $_SERVER['DOCUMENT_ROOT'].'/aaa';
$config['path']['root']['engine']     = '___path.root.server___/engine';
$config['path']['root']['engine_lib'] = '___path.root.web___/engine/lib';
$config['path']['static']['root']     = '___path.root.web___';
$config['path']['static']['skin']     = '___path.static.root___/templates/skin/___view.skin___';
$config['path']['uploads']['root']    = '/uploads';
$config['path']['uploads']['images']  ='___path.uploads.root___/images';
$config['path']['offset_request_url'] = 1;
avatar
Сервер выделенный, стоит SLACKWARE 13.1

Последний лог ошибки апача:

[Fri Apr 29 18:26:58 2011] [error] [client 444.333.222.111] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.