Автор Тема: mod_rewrite странности  (Прочитано 2862 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн constructor

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
mod_rewrite странности
« : 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
Что за беда такая?

Оффлайн avlin

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
mod_rewrite странности
« Ответ #1 : 01 Июня 2005, 14:01:10 »
а если в .htaccess прописать такое, то это разве не одно и то же?

ErrorDocument 404 http://www.domain.ru/index.php

Оффлайн constructor

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
mod_rewrite странности
« Ответ #2 : 01 Июня 2005, 14:18:33 »
Да, практически то-же самое, но нужно именно через mod_rewrite

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28