Запуск PHP без расширения без использования mod_rewrite?

Используя Apache 2.2 и PHP 5, какой лучший способ запустить PHP без расширения .php. Например, у меня есть скрипт под названием app.php, и мне нравится ссылаться на него как

http://example.com/app

Обратите внимание, что я все еще хочу сохранить расширение .php в файле, и у меня нет mod_rewrite. Не хотите использовать index.php, потому что для этого требуется слишком много каталогов.

Я нашел один способ, добавив это в мой .htaccess,

AddHandler server-parsed .php SetHandler application/x-httpd-php AddHandler application/x-httpd-php .php 

Используя эту страницу, страница работает немного медленнее. Я подозреваю, что он вызывает SSI на каждой странице PHP. Интересно, есть ли какие-то лучшие способы для этого.

    Related of "Запуск PHP без расширения без использования mod_rewrite?"

    Альтернативой является использование согласования контента . Включите мультивизоры :

     Options +MultiViews 

    Если именованный ресурс не существует, Apache будет глотать файл, а затем сортировать на основе требований к типу содержимого и требованиям к кодировке содержимого, отправляемых браузером. Если есть только один файл (ваш PHP-скрипт), то это то, что разрешает URL.

    Вы также можете заставить тип mime определенного файла в вашем .htaccess :

     <Files app> ForceType application/x-httpd-php </Files> 

    Короткий ответ заключается в том, что вы не сможете сделать это так, как хотите. PHP будет нуждаться в расширении SOME для выполнения файлов, чтобы вы могли оставить его как * .php.

    Если вы не используете mod_rewrite, вам придется вызывать файлы, используя полный файл и расширение.

    Это красота mod_rewrite – она ​​позволяет вам делать именно такую ​​вещь.

    Я поставил бы вопрос к вам – почему вы не можете использовать mod_rewrite? Это проблема среды, выбор, вы используете Lighttpd (lighty)?

    расширение

    Оберните свои правила перезаписи таким образом, чтобы он не взорвался, если сервер не поддерживает mod_rewrite:

     <IfModule mod_rewrite.c> // DO REWREITE HERE </IfModule> 

    Если вы считаете, что это проблема безопасности или что-то в равной степени действительное, вы также можете выполнить следующую проверку и отправить их в пользовательскую 404 или даже свою документацию и дать им примеры того, как включить mod_rewrite и объяснить необходимость и т. Д. Эта вторая check является необязательным, хотя – если вы его не используете, пользователи просто видят расширение .php, но ваши страницы все равно будут работать.

     <IfModule !mod_rewrite.c> ErrorDocument 404 /application/errors/404.php // ERROR 404 ABOVE OR DO ANOTHER DIRECT REDIRECT TO AN INFORMATION PAGE </IfModule>