mod_rewrite новичок: сопоставление файлов с файлами php - PullRequest
1 голос
/ 22 февраля 2010

Я пытаюсь написать простое правило, такое, что:

/page неявно перенаправляется на /page.php. И наоборот, я бы хотел, чтобы любой прямой доступ к /page.php был перенаправлен в адресной строке на /page.

В настоящее время у меня есть:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

Но это не касается второго случая. Как я могу изменить это?

1 Ответ

2 голосов
/ 22 февраля 2010

Вы должны обработать ваше второе правило перед первым. Попробуйте это:

RewriteEngine on
RewriteRule ^(.*)\.php$ http://domain.com/$1/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ $1.php
...