Param on the home page don't work

Param

At first, I started to use $_GET variables but found out that Kirby has a built in function to handle parameters.

http://getkirby.com/docs/cheatsheet/helpers/param

Home does not work, on localhost

This does not work works (home on localhost with param)

http://localhost/example.com/year:2015/price:1231

This does work (child page on localhost with param)

http://localhost/example.com/about/year:2015/price:1231

The result when it’s not working is a 403 error.

Try it

  • Add /year:2015/price:1231 to your localhost home page. Does it work?
  • Add /year:2015/price:1231 to your localhost child page. Does it work?

Information

  • I even tried a default Kirby installation with the same result which means, no routs, no plugins installed.
  • I use a default setup of WAMP on Windows.
  • It does not work on home on localhost but work fine on home a real domain.
  • It does not work on home on localhost but work on a child page on localhost.
  • With home I mean root page /

Questions

  • Why does it work live but not on my localhost?
  • Why does it work on my localhost but only on child pages?
  • How can I fix it or find out what is wrong?
1 Like

Guess it has to do with the server settings it your httpd.conf, but I’m not on Windows, so can’t really advise and suggest to google a bit.

Google did not help me this time. Thanks anyway!

If no more suggestions are coming in I’ll use get-variables. They work on all pages including the home page.

I encounter the same problem working with params() and param() …

other pages other than home work, online work, home-site does not work offline.

Do you also use Windows? If so, please use ; instead of : as a separator or use url::paramSeparator(), which will get it right automatically.

Just out of interest: Why does it work with : on a child page but not on the start page?

If I understood how Apache on Windows works I’d be a rich man. :wink:

I only guess:

On Windows we can open an local file with someting like

[file:///C:/path/to/the/file.ext](file:///C:/path/to/the/file.ext)

There we need an ":" for the drive, e.g. "C:"!

I had the same problem, and not only on the homepage. Anyway, turning all the “:” into “;” it works (I’m also using Xampp on Windows). Thanks for the hint!

The strange thing is that I run into tis issue with the latest version of Kirby.

It’s a general Windows issue, I don’t think we can fix it directly in Kirby. This is why Kirby supports ; on Windows. :slight_smile:

A workaround can be to not use these kinds of characters at all. At least I did. If I really need to have some kind of variables I use GET variables instead.

For categories or tags I always create pages for them as I see them as any kind of page. For me a category should be visible and contain unique content as well. Good for SEO.

But again, that’s just another way out. :slight_smile:

1 Like

I agree that creating category pages is good for SEO!

1 Like

Just a doubt: I’m working on a Windows machine so “;” just works,but the production site runs on a Linux server: will I have any issues with the “;” separator?

As Lukas mentioned above, you can use url::paramSeparator() to make it independent from your environment.