Apache mod_rewrite - предпочитайте файлы каталогам с красивыми URL - PullRequest
1 голос
/ 18 апреля 2010

Я хочу иметь красивые 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]

Ответы [ 2 ]

0 голосов
/ 19 апреля 2010

Вам нужно использовать весь путь:

RewriteCond "%{DOCUMENT_ROOT}%{REQUEST_FILENAME}.php" -f  

REQUEST_FILENAME это просто полный путь внутри DocumenRoot

0 голосов
/ 18 апреля 2010

MultiViews может вызвать это поведение. Попробуйте отключить его.

...