Crusader Posted July 17, 2003 Share Posted July 17, 2003 gah.... how can i do this? I have a php page which calls on a specific variable (http://boo.com/bah.php?user=username) i want it to look like this though, http://boo.com/username how would i do this? i tried doing this: RewriteEngine On RewriteRule ^/(.*) /view.php?user=$1 but i had no success... thanks for reading and or trying to help Quote Link to comment Share on other sites More sharing options...
MAPA3M Posted July 17, 2003 Share Posted July 17, 2003 RewriteEngine On RewriteCond ! http://boo.com/%{REQUEST_URI} -U RewriteRule http://boo.com/(.*) http://boo.com/view.php?user=$1 Just a wild guess, but it might work Quote Link to comment Share on other sites More sharing options...
Crusader Posted July 17, 2003 Author Share Posted July 17, 2003 err it gave me an internal server error thanks for trying though Quote Link to comment Share on other sites More sharing options...
MAPA3M Posted July 17, 2003 Share Posted July 17, 2003 This is an interesting problem... let me get off work and get to an Apache server I\'m not afraid to break :-) I\'ll work on it then Quote Link to comment Share on other sites More sharing options...
Crusader Posted July 18, 2003 Author Share Posted July 18, 2003 ty Quote Link to comment Share on other sites More sharing options...
MAPA3M Posted July 18, 2003 Share Posted July 18, 2003 This is a tricky one... how do you tell if the request is invalid or is for a user or is for a regular file? for example... you have a user \"john\".... this would make the request http://www.blah.com/john valid from the logical point of view... however, to Apache that request and http://www.blah.com/no-such-user and http://www.blah.com/index.html will look exactly the same... so while I did set up a mod_rewrite that\'ll do what you want, it doesn\'t seem very useful because apache will rewrite EVERY REQUEST that\'s 404 to view.php?user Best that you can do is something like http://www.blah.com/~validuser That way you can either use apache\'s mod_userdir or set up a simple mod_rewrite rule to forward those users Now, for reference.... This is the answer to your original question...maybe you can improve on it RewriteEngine ON RewriteCond /your/docroot/%{REQUEST_FILENAME} !-f RewriteCond /your/docroot/%{REQUEST_FILENAME} !-d RewriteRule ^/(.*) /view.php?user=$1 This is what can forward /~user RewriteEngine ON RewriteRule ^/~(.*) /view.php?user=$1 Hope this helped! Quote Link to comment Share on other sites More sharing options...
Crusader Posted July 18, 2003 Author Share Posted July 18, 2003 thanks MAPA3M! to solve this i was thinking of adding a query to the view page. im probably going to make it an else, so if it doesn\'t detect a user it will instead do a query through a list of files listed in the db, eg. if someone looked for forums it would fail the user query and else to find that there is a forum entry in the site table. if both queries failed it would then bring them to some other page. or so i hope lol. i\'ll post on how i(f) solve this. thanks. Quote Link to comment Share on other sites More sharing options...
MAPA3M Posted July 18, 2003 Share Posted July 18, 2003 That seems very insecure and error-prone.... why not just go with the /~username setup? Worked for everyone for years and is close to being foolproof Quote Link to comment Share on other sites More sharing options...
Crusader Posted July 18, 2003 Author Share Posted July 18, 2003 yea i think ill need to use that heh. any idea how xanga.com does it? check out http://xanga.com they\'re running on asp but i dont get how that would make much of a difference. aghh.. finding the root to the subdomain is annoying... it does not want to cooperate with the sub lol Quote Link to comment Share on other sites More sharing options...
MAPA3M Posted July 18, 2003 Share Posted July 18, 2003 Xanga seems to be doing it the way that I wrote... if the file or directory doesn\'t exist, rewrite it to home.asp?user=blah Quote Link to comment Share on other sites More sharing options...
Crusader Posted July 19, 2003 Author Share Posted July 19, 2003 hmmm its not working for me... Options +FollowSymlinks RewriteEngine ON RewriteCond /home/virtual/site34/fst/var/subdomain/gc/html/%{REQUEST_FILENAME} !-f RewriteCond /home/virtual/site34/fst/var/subdomain/gc/html/%{REQUEST_FILENAME} !-d RewriteRule ^/~(.*) /view.php?user=$1 im pretty sure i have the right root. could it not working have to do with it running on one of my subdomains? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.