This works:
HTML
<a href="/search/querystring">query</a>
htaccess
RewriteRule ^search/([-0-9a-z]+)$ /search.php?q=$1 [L]
Going through a search form:
<form method="get" action="/search">
<input type="search" name="q" value="querystring" />
<input type="submit" />
</form>
Is this possible with htaccess or do I need to redirect with PHP from within search.php?
Example desired result in action: http://twitter.com/search/hello
EDIT
I prefer not to be dependant on JavaScript to do this so search engines and folks with JavaScript disabled will see this too.
Clean URLs (or semantic URLs) are readable URLs for websites or web services that intuitively represent the underlying resource. This typically means: Omitting implementation details for the underlying web-server. The URL should not contain suffixes like . php or jsp that denote the underlying technology stack.
A clean URL is less intimidating to a human user. They can look at it and get an idea what the page is about. Clean URLs are also more sharable. Being short and meaningful, they are more pleasing to the eye and more likely to be shared on Twitter, Facebook, or other sites, and via email.
I think the problem is that you've created an HTML form with GET method, which automatically opens the URL that way you specified as the result. If you want to submit your search query like the desired one, you should hack the form with some JavaScript to call your good-looking URL like this:
<form method="get" action="/search/" onsubmit="return false;">
<input type="search" name="q" value="querystring" />
<input type="submit" onclick="window.location.href=this.form.action + this.form.q.value;" />
</form>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With