Непонятки в mod_rewrite

IvanShumkov

Новичок
Непонятки в mod_rewrite

PHP:
AddType image/x-icon .ico
php_value register_globals 0
php_value display_errors 0

RewriteEngine on
Options +FollowSymlinks
Options -Indexes

#Добавляем слеш в конце, если нет
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1/ [R,L,QSA]

#Запрещаем доступ
<FilesMatch "(config.php)">
	Deny from all
</FilesMatch>

RewriteRule (compiled|core|templates|logs|data|modules|cron)/ - [F]

#Если каталог или файл не существует делаем перенаправленеие.
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?request=$1 [L]

ErrorDocument 403 [url]http://shumkov/ru/[/url]
Но возникает ошибка, файл index.php за один запрос выполняется 3 раза. Немогу понять почему?

-~{}~ 08.02.05 02:45:

Если последнее правило изменить на
PHP:
RewriteRule ^([^.]+)$ index.php?request=$1 [L]
То скрипт будет выполнятся за один запрос один раз, но правило не будет обрабатывать url типа http://mysite/ya.html

-~{}~ 08.02.05 05:41:

Разобрался. Он открывал этим скриптом два файла которые не мог найти.
Правильное решение оказалось:
PHP:
AddType image/x-icon .ico
php_value register_globals 0
php_value display_errors 1

RewriteEngine on
Options +FollowSymlinks
Options -Indexes

RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1/ [R,L,QSA]

<FilesMatch "(config.php)">
	Deny from all
</FilesMatch>

RewriteRule (compiled|core|templates|logs|data|modules|cron)/ - [F]

RewriteCond	%{REQUEST_FILENAME}	!-f
RewriteCond	%{REQUEST_FILENAME}	!-d 
RewriteCond %{REQUEST_URI} !\.(gif)$|(jpe?g)$|(css)$|(js)$|(png)$|(ico)$|(php)$|(html)$
RewriteRule	^(.*)$ index.php?request=$1 [QSA,L]

ErrorDocument 403 /ru/forbidden/
 
Сверху