very cool chris!!!

Justin


on 19/03/03 2:27 AM, Chris Hayes ([EMAIL PROTECTED]) wrote:

> At 14:38 18-3-03, you wrote:
>> Ok, I hope this makes sense,
>> 
>> When a user 'registers' with our site, I want to generate their personal
>> webpage for them.  Currently, I have a webpage where the contents are
>> generated from their personal info in the db and I have a drop down to view
>> client pages but it is just the same page but I pass in the clientid so it
>> will display their data.  This is fine but I want the users to be able to
>> tell others.."Visit my home page at www.eddiessite.com/Johnny  or something
>> like that...I don't want them to have to say visit my page
>> www.eddissite/client_pages?clientid=43  does that make sense?  Should I just
>> generate a folder for them with an index page that redirects then to the
>> clientpage with their id?
> 
> wow wouldn't that create a huge directory structure!
> 
> this is the way i did it, to be able to make all sorts of fake urls, from
> /page/33 to /person/3 or person/jones or even /jones if you want.
> You need a server that is setup to read .htaccess files.
> 
> In the .htaccess file for your site, you write
> ---------------
> ErrorDocument 404 /subdirectories/to/redirect.php
> ---------------
> This way all the urls that would normally be led to a 404 warning page, are
> now first led to a php file. It is VITAL to not use the complete URL but
> only the part after www.domain.org, otherwise you loose all existing form
> and url information.
> 
> In redirect.php you check your url and split it up. You can do this any way
> you like. I'll show some usefull examples:
> 
> ---------------
> <?PHP
> $basis='http://www.sense.nl/';   //my base url to build the links on.
> global $_SERVER;
> $path=trim($_SERVER["REQUEST_URI"]);
> $path_bits=explode('/',$path);
> 
> switch (strtolower($path_bits[1]))
> {
> case 'educationworkshop':
> Header("Location:
> ".$basis."index.php?module=ContentExpress&func=display&ceid=15");
> break;
> 
> case 'news':
> Header("Location:
> ".$basis."modules.php?op=modload&name=News&file=article&mode=nested&order=0&th
> old=0&sid=".trim($path_bits[2])
> );
> break;
> 
> 
> case 'research':
> case 'researcher':
> case 'researchers':
> case 'researchguide':
> case 'research_guide':
> Header("Location:
> ".$basis."redirect/research.php?".trim($path_bits[2]) );
> break;
> 
> 
> default:
> Header("Location: ".$basis."redirect/404.html");
> 
> }
> 
> ?>
> ---------------
> 
> As you can see i simply split up the url on the slashes.
> Some words, for example  'educationworkshop', lead to a fixed page. I have
> a whole bunch of these, very useful. Leads to:
> http://www.domain.org/educatiionworkshop
> 
> 
> 'news' expects an extra value like http://www.xx.org/news/11, then leads
> directly to the long url.
> 
> 'research' and a couple of lookalike words are forwarded with the extra
> data to another PHP file specialized in selecting the descriptions, just as
> you want.
> 
> in research.php i then look:
> is the extra data a number ? then go to the url.'&ID='.$thenumber
> is it a word or phrase? then do a query to find the right number
> 
> The last one is the one you could use. For instance if it finds
> http://www.domain.org/research/jones,
> a query is made that looks up Joneses. If there is only one Jones, get
> the ID number and show the Jones directly.
> If not, show a list of Joneses with links made with their respective ID
> numbers.
> 
> 
> Chris
> 
> 
> 
> 
> 
> 


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to