Change the PHP Query String Variable Separator Using php.ini
As you probably know, the default PHP query string variable separator is the "&" character. One annoyance with using the "&" character is that, in order to have valid XHTML syntax, you need to output your &'s as "&". If you'd like to avoid all of that mess, you can simply change the separating character to a semi-colon (;). Here's how:
The PHP
//inside the php.ini file
arg_separator.input = ";"
//example URL: /page.php?key1=value1;key2=value2;key3=value3
There you go -- one easy step to outputting cleaner URLs. Do any of you use this method?
![Designing for Simplicity]()
Before we get started, it's worth me spending a brief moment introducing myself to you. My name is Mark (or @integralist if Twitter happens to be your communication tool of choice) and I currently work for BBC News in London England as a principal engineer/tech...
![Regular Expressions for the Rest of Us]()
Sooner or later you'll run across a regular expression. With their cryptic syntax, confusing documentation and massive learning curve, most developers settle for copying and pasting them from StackOverflow and hoping they work. But what if you could decode regular expressions and harness their power? In...
![9 More Mind-Blowing WebGL Demos]()
With Firefox OS, asm.js, and the push for browser performance improvements, canvas and WebGL technologies are opening a world of possibilities. I featured 9 Mind-Blowing Canvas Demos and then took it up a level with 9 Mind-Blowing WebGL Demos, but I want to outdo...
![MooTools Zoomer Plugin]()
I love to look around the MooTools Forge. As someone that creates lots of plugins, I get a lot of joy out of seeing what other developers are creating and possibly even how I could improve them. One great plugin I've found is...
Personally I set it to & which validates fine.
and if you don’t have access to the ini file the following works:
ini_set('arg_separator.output','&');pretty useful
Didnt know this one, thx ;)
And how Search engines see on this trick?
@wsr: Search engine sees it as the same — you wouldn’t be penalized by this.
@david: Maybe, but standart is “&” and many SE use this symbol to explode and analyze query string…
I think this will break a 3rd party CMS(like wordpress).
Think SEO
If you really want to display pretty URLs it’s better to use mod_rewrite.
Keep in mind that XML invalidates the & symbol when it’s located in the href tag.
To validate your XML you have to supply & EG: href=”?i=1&x=2″
When using this method the return value in the URI will return as “&”, and if you are using relative URLs in your application navigation, this will invalidate the DOM generated XML in most browsers and stop page load in Google Chrome (Safari).
Result: href=”/mypage.php?i=1&x=2″
Returns – EntityRef: expecting ‘;’
To fix the above the first example href=”?i=1&x=2″ should read with &
like so
href=”?i=1&x=2″