Возможно ли, чтобы php-файл в apache работал без расширения? - PullRequest
3 голосов
/ 05 февраля 2010

У меня есть файл

http://www.www.com/somefile.php

Я хотел бы иметь возможность получить тот же файл, перейдя на

http://www.www.com/somefile

Но мне все еще нужно

http://www.www.com/directory

чтобы открыть файл

http://www.www.com/directory/index.php

, если каталог является каталогом.

Это типичная установка LAMP с Red Hat и Apache.

Это возможно? Если да, то как?

Ответы [ 3 ]

3 голосов
/ 05 февраля 2010

Правило переписывания Apache сделает это за вас. Единственным ограничением является то, что вы не можете иметь файл с именем «somefile.php» и каталог с именем «somefile» (хотя у вас все еще могут быть каталоги.

Вот пример правила, которое поддерживает несколько имен файлов (просто вставьте в ваш файл .htaccess).

RewriteEngine on
RewriteRule ^(somefile1|somefile2|somefile3) $1.php

Изменит / somefile1 на /somefile1.php, / somefile2 на /somefile2.php и / somefile3 на /somefile3.php.

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

Посмотрите на тип Apache ForceType.

0 голосов
/ 26 ноября 2010

Если вы хотите отключить необходимость глобальных расширений файлов для URL на вашем сайте, вы также можете добавить следующее к своему .htaccess:

Options +MultiViews

Это включит Согласование содержимого . Но если вы хотите сопоставить только определенные файлы и / или URL-адреса, используйте Ответ SoapBox .

...