I am using Pathauto to generate URLs with querystrings that use tokens to identify node content. The querystring will be used by a GET command in destination form to fill in variables to then send into an Amazon payments post form.

The alias code I am using for my node type in pathauto is:

explore/[nid]?solution_name=[title-raw]&solution_id=[nid]

The link appears to render properly while creating/editing the node, however the URL is percent coded when rendered in browser.

explore/304%3Fsolution_name%3Dapp-test%2526solution_id%3D304

The percent coded URL is not working properly with my application though I thought this coding was technically equivalent. When I manually replace the percent coded characters with actual '?', '=', and '&' characters, my app works fine.

I have tried transliteration, but it doesn't appear to handle these characters anyway when i look at the i18n-ascii.txt file, it only contains maps relating to languages characters.

Any ideas as to how to force the actual ?=& characters into the URL encoding?

Comments

greggles’s picture

Status: Active » Fixed

Can you try manually creating one of these aliases at admin/build/path and see if that works? My guess is that it won't because those symbols get url_encoded as they are pulled out of the database. Not much to do there...

So, an alternate solution is to just use / as your separate rather than get parameters and check for the values using arg():

explore/[nid]/[title-raw]/[nid]

In this setup, title-raw will be in arg(2) and nid will be in arg(1) and arg(3).

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

jee’s picture

Be sure you are not using the l() function. Doing so will urlencode your link.