Такое не прокатило. По идее же <Files "php$"> означает, что "применить ко всем фалам с маской ...". Но у меня почему-то совсем не хотело работать ни эта маска, ни какая другая. Методом тыка написал-таки
И когда пользователь вводит адрес http://site[dot]com/aaa mod_rewrite перенаправлял его соответственно на http://site[dot]com/index.php?action=aaa . А если пользователь открывает http://site[dot]com/aaa.php ( или http://site[dot]com/bbb.php или http://site[dot]com/ссс.php или http://site[dot]com/index.php - не важно), то выполнять скрипт error.php, который выводит сообщение, что страница не найдена.
Ещё пробовал сделать так:
Последнее правило в .htaccess такое, что если в адресе присутствует .php, то выполнить какой-то скрипт, например error.php, но в таком случае, даже если введённый адрес подходил под предыдущие правила, а под это нет, то всё равно выполнялся этот скрипт error.php .
Можно выявить другую подзадачу: если в адресе написано .php, тогда выполнить error.php , иначе уже смотреть под какое правило подходит адрес
, то получится, что если страница не найдена, тогда открыть aaa.php. А мне нужно наоборот - чтобы если ввели aaa.php, то сказать, что файл не найден, хотя на самом деле aaa.php существует.
P.S.: Посмотрел на свой первый пост, и мне сайчас кажется, что я неправильно сформулировал вопрос, извиняюсь
1. На сколько знаю, mod_rewrite использует perl'овые регулярные выражения, а по их правилам \w (опять же, если не ошибаюсь) обозначает примерно следующее: все буквы, цифры и символ "_".
2. К сожалению такой способ у меня не прокатит.. У меня структура такая: если пользователь открывает страницу index.php?action=aaa, то ему открывается файлик aaa.php, допустим. И, соответственно, нужно, что бы когда он ввёл сразу адрес aaa.php, то обманывать его, что такой файл не существует.
Проблема заключается в следующем: у меня есть набор некоторых правил, и мне нужно, что бы если ни одно из правил не подошло, выполнилось последнее правило( т.е. выполнился скрипт aaa.php). Привожу свой файл .htaccess: