Apache разрешает URL-адреса, прежде чем искать в .htaccess - PullRequest
0 голосов
/ 19 января 2009

У меня есть правило переписывания в следующей форме:

RewriteRule ^foo/([a-zA-Z0-9]+)$ foo.php?arg=$1 [qsa,nc]

Он принимает URL-адреса вида /foo/bar и заменяет их на /foo.php?arg=bar

Локально работает должным образом и работает на моем старом хосте, но я переехал на новый хост (работает под управлением Ubuntu) и ведет себя иначе

На новом хосте apache замечает, что есть foo.php, и вызывает его напрямую. Другими словами, URL вида /foo/bar видятся как /foo.php. Если я переименую foo.php в foo_junk.php и изменим правило перезаписи на

RewriteRule ^foo/([a-zA-Z0-9]+)$ foo_junk.php?arg=$1 [qsa,nc]

Тогда все это работает. Так что дело не в том, что я не включил переопределения или что мне не удалось установить mod_rewrite или что-то еще. Переписывает работу, они просто выполняются в другой точке процесса разрешения URL-адреса, чем локально.

Есть ли опция конфигурации для этого?

1 Ответ

2 голосов
/ 19 января 2009

Попробуйте отключить MultiViews:

Options -MultiViews
...