faqts : Computers : Programming : Languages : PHP

+ Search
Add Entry AlertManage Folder Edit Entry Add page to http://del.icio.us/
Did You Find This Entry Useful?

5 of 17 people (29%) answered Yes
Recently 3 of 10 people (30%) answered Yes

Entry

How to change the ? character in the PHP query string into / character?

Mar 15th, 2008 17:57
ha mo, Dan Zambonini, Penton Wong,


This will need to be configured outside of PHP - in fact, within the 
web server.
If you're using Apache, you can use Mod Rewrite 
(http://httpd.apache.org/docs/mod/mod_rewrite.html) or even the Files 
directive (http://httpd.apache.org/docs/mod/core.html#files) within 
an .htaccess file.
If you're using IIS, you'll need to pay for a solution; an easy to use, 
good value solution (in my experience) is IIS Rewrite 
(http://www.qwerksoft.com/products/iisrewrite/).
Depending on which solution you use, you'll have to adapt your PHP 
files accordingly.  Mod rewrite will be easiest (from the PHP side of 
things) - it can automatically convert the requested /a/b/c URL to the 
appropriate _GET variables.
The Files directive can simply redirect any requests from a specific 
location (e.g. anything under /a/*, e.g. /a/b/c/d or /a/f/g) to a PHP 
script (e.g. /a.php).  Your PHP script will then - from the original 
HTTP request variables, decode back into the _GET values.
IIS Rewrite is similar to the Files directive, only it creates a new 
global variables during the process, that you can query for the values.
Note that you'll also have to adapt the 'output' from your PHP - 
perhaps a global output catching script, that converts all your 
internal query string (?a=b&c=d) URLs into the nice /a/b/c/d URLs - 
with a handy regular expression or two.
http://www.tantofa.com
http://www.fantofa.com
http://www.mantofa.com
http://www.tanpola.com
http://www.tampola.com
http://www.mozmar.com
http://www.yamot.com
http://www.templatestemp.com