Forum Webscript.Ru
Общие => Веб Сервера => Тема начата: constructor от 31 Мая 2005, 22:52:13
-
Нужно перехватить все обращения к несуществующим файлам посредством mod_rewrite, все такие обращения кидать на index.php
RewriteEngine on
RewriteBase /
#не обрабатывать если
#вызван /index.php,возм. с параметр.
RewriteCond %{REQUEST_URI} !(/index.php.*) [OR]
#вызван [url]http://host/[/url]
RewriteCond %{REQUEST_URI} !(/?.*) [OR]
#вызван не существующий uri
RewriteCond %{REQUEST_URI} !-U
RewriteRule ^(.*)$ index.php?uri=%{REQUEST_URI}&fname=%{REQUEST_FILENAME}&req=$1
и проблема в том, что почему-то rewriterule срабатывает на вызове http://host/ и http://host/?params
причём если RewriteCond %{REQUEST_URI} !-U
поменять на RewriteCond %{REQUEST_URI} !-f
то второе правило работает, а первое нет, т.е. http://host/index.php - обрабатывает rewriterule
Что за беда такая?
-
а если в .htaccess прописать такое, то это разве не одно и то же?
ErrorDocument 404 http://www.domain.ru/index.php
-
Да, практически то-же самое, но нужно именно через mod_rewrite