Re: Re: hide php extension...

From: Date: Thu, 25 Mar 2004 06:06:17 +0000
Subject: Re: Re: hide php extension...
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-181449@lists.php.net to get a copy of this message
On Thursday, March 25, 2004, at 04:37 PM, john doe wrote:
if there's other options, please let me know...
At some level, you have to make a change *somewhere* :) If not through script naming and placement, then through web server configuration. However, most of these configurations for Apache can be done through a .htaccess file in your web root, assuming your host allows them -- most do. 1. "Options +MultiViews" MultiViews will ask Apache to look for the requested resource eg /foo/bah/boo/, and if not available, it will step backwards down the path until it finds something. It also ignores extensions (forgive my crude / quick description). So, foo.php/?id=2 and foo/?id=2 are the same resource There's downside, which is that requesting foo/bah/boo may result in foo.php being called (which is great), but if foo/bah/boo was never intended to exist, Apache will not generate a 404 error -- it will leave it upto foo.php to decide what to do. 2. mod_rewrite You could use mod_rewrite to rewrite your URLs so that foo/?id=2 is internally rewritten to foo.php?id=2 3. Forcing type You could name your script just 'foo' instead of 'foo.php', and force 'foo' to be parsed through PHP: <Files foo> ForceType application/x-httpd-php </Files> Similarly, if you were worried about anyone knowing you were running PHP, or having your URLs tied to PHP permantently, you could force all .html files through PHP. <Files ~ "\.html$"> ForceType application/x-httpd-php </Files> There's plenty Apache can do to solve your problem -- if your host doesn't allow it, move hosts... there's only two ways out of this that I'm aware of: 1. change apache 2. severely rework your file structure (as discussed already) --- Justin French http://indent.com.au

« previous php.general (#181449) next »