Я хочу иметь красивые URL, поэтому http://www.domain.com/foo вернет http://www.domain.com/foo.php
Проблема в том, что существует каталог с таким же именем. У меня есть другая страница на http://www.domain.com/foo/bar/baz и сейчас мой сервер просто возвращает список каталогов foo, когда я запрашиваю http://www.domain.com/foo
псевдокод: Если запрос плюс ".php" - это файл переписать файл вместо каталога
Фактический код:
RewriteEngine On RewriteBase / RewriteCond %{SCRIPT_FILENAME}\.php -f RewriteRule (.*) $1.php [NC,L]
Вам нужно использовать весь путь:
RewriteCond "%{DOCUMENT_ROOT}%{REQUEST_FILENAME}.php" -f
REQUEST_FILENAME это просто полный путь внутри DocumenRoot
MultiViews может вызвать это поведение. Попробуйте отключить его.
MultiViews