Hello, What im trying to do is to use RewriteRule to have custom urls, what i want is having something like http://www.domain.com/the_name and using htacess make it go to show.php where "the_name" will be a variable for show.php, what i have works well except when the url contains the "&" char, this causes show.php to get the variable only until the part where the "&" char comes, i.e. for "/the_&_name", will only get "the_" This is what i have : Link : http://www.domain.com/parse_&_this .htaccess : Options +FollowSymLinks RewriteEngine On RewriteRule ^(.*)$ show.php?name=$1 [L] and also tried with : RewriteRule ^([a-z,_,&]*)$ show.php?name=$1 [L] show.php : <?php echo $_GET['name']; ?> --------- This works fine for all names except the ones with the "&", does any body knows how this is done? Example : http://en.wikipedia.org/wiki/Command_&_Conquer Any help is appretiated. Regards, David.
Yes, GET variables are separated by '&' characters. So, to get the "variable" you need, you cannot use the $_GET/$_REQUEST array. Try this: show.php: <?php echo $_SERVER['QUERY_STRING']; PHP: .htaccess: Options +FollowSymLinks RewriteEngine On RewriteRule ^(.*)$ show.php?$1 [L] Code (markup):
Thank you very much for the reply keyaa, it looks like a good way to do it. I've also found a way to do it playing a bit with .htacess : ------------------------ Options +FollowSymLinks RewriteEngine On RewriteRule ^([^&]+?)\&([^&]+?)$ $1\%26$2 RewriteRule ^([^&]+?)\&([^&]+?)\&([^&]+?)$ $1\%26$2\%26$3 RewriteRule ^([^&]+?)\&([^&]+?)\&([^&]+?)\&([^&]+?)$ $1\%26$2\%26$3\%26$4 RewriteRule ^show-(.*)/$ show.php?name=$1 [L,QSA] ------------------------ The 3rd line will check the url to see if there is one ampersand character, the next line will catch the ones with 2 ampersands and so on, finally the last line will give show.php the correct get variables. This will work with most uncomon chars in the url, not all, i had a name with "+" character that didn't worked, this is because "+" is interpreted as a space. Regards, David.