Using Apache 2.2 and PHP 5, what's the best way to run PHP without the .php
extension? For example, I have a script called app.php
and I like to invoke it as:
Please notice that I still want to keep the .php
extension to the file and I don't have mod_rewrite
. Don't want use index.php
either because it requires too many directories.
I did find one way by adding this to my .htaccess
,
AddHandler server-parsed .php
SetHandler application/x-httpd-php
AddHandler application/x-httpd-php .php
The page runs a little slower by using this. I suspect it invokes SSI on every PHP page. Wonder if there are any better ways to accomplish this.
An alternative is to use content negotiation. Turn on multiviews:
Options +MultiViews
If a named resource doesn't exist, Apache will glob for the file, then sort based on the media type and content encoding requirements send by the browser. If there's only one file (your PHP script), then that's what the URL resolves to.