static URLs

  • Thread starter Jonathan N. Little
  • Start date
J

Jonathan N. Little

Okay I have been futzing with this for a bit, so a request other viewpoints.

Using a website database and you want to present with static URLs so a
call to:

http://www.example.com/frontend.php?id=2

Becomes:

http://www.example.com/page/2

With .htaccess:
RewriteRule ^page/([\d]*) frontend?id=$1 [L]

Ok, that takes care of static link in a webpage, but what if you want to
get a page as a result of some form query and still want the result to
appear as a static URL? Say a page selector form a could go to a
intermediate parsing script like:

<form action="http://www.example.com/q2url.php">
<select name="id">
<option value="25">Some page</option>
....

Where q2url.php is:

$id = $_GET['pageID'];
$redirect = "http://www.example.com/page/$id";
header("Location: $redirect");

So the result will appear again as a static:
http://www.example.com/page/25

Or is there another way to do this with a rewrite rule. If so any
advantages/disadvantages?
 
B

Benjamin Niemann

Jonathan said:
Okay I have been futzing with this for a bit, so a request other
viewpoints.

Using a website database and you want to present with static URLs so a
call to:

http://www.example.com/frontend.php?id=2

Becomes:

http://www.example.com/page/2

With .htaccess:
RewriteRule ^page/([\d]*) frontend?id=$1 [L]

Ok, that takes care of static link in a webpage, but what if you want to
get a page as a result of some form query and still want the result to
appear as a static URL? Say a page selector form a could go to a
intermediate parsing script like:

<form action="http://www.example.com/q2url.php">
<select name="id">
<option value="25">Some page</option>
...

Where q2url.php is:

$id = $_GET['pageID'];
$redirect = "http://www.example.com/page/$id";
header("Location: $redirect");

So the result will appear again as a static:
http://www.example.com/page/25

Or is there another way to do this with a rewrite rule. If so any
advantages/disadvantages?

I can't think of a better way. The initial URL is created by the user-agent,
and this will always create ?id=NNN URLs. You may intercept the form
submission using JavaScript, construct the correct URL and use
window.location. But your q2url.php should still be in place to handle
non-JS user-agents.

BTW: make sure, your 'page selector' is not the only way to open a page, or
search engines will not find it.
 
J

Jonathan N. Little

Benjamin said:
Jonathan said:
Okay I have been futzing with this for a bit, so a request other
viewpoints.

Using a website database and you want to present with static URLs so a
call to:

http://www.example.com/frontend.php?id=2

Becomes:

http://www.example.com/page/2

With .htaccess:
RewriteRule ^page/([\d]*) frontend?id=$1 [L]

Ok, that takes care of static link in a webpage, but what if you want to
get a page as a result of some form query and still want the result to
appear as a static URL? Say a page selector form a could go to a
intermediate parsing script like:

<form action="http://www.example.com/q2url.php">
<select name="id">
<option value="25">Some page</option>
...

Where q2url.php is:

$id = $_GET['pageID'];
$redirect = "http://www.example.com/page/$id";
header("Location: $redirect");

So the result will appear again as a static:
http://www.example.com/page/25

Or is there another way to do this with a rewrite rule. If so any
advantages/disadvantages?

I can't think of a better way. The initial URL is created by the user-agent,
and this will always create ?id=NNN URLs. You may intercept the form
submission using JavaScript, construct the correct URL and use
window.location. But your q2url.php should still be in place to handle
non-JS user-agents.

BTW: make sure, your 'page selector' is not the only way to open a page, or
search engines will not find it.

Yes very true, no this 'page selector ' is in *addition* to the standard
navigation. Just wanted both methods to product the same static URL result.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,763
Messages
2,569,563
Members
45,039
Latest member
CasimiraVa

Latest Threads

Top