Welcome to WebmasterWorld Guest from 54.166.33.25

Forum Moderators: Ocean10000 & incrediBILL & phranque

Trailing slash issue with multiple parameters

Trailing slash issue

   
4:38 am on Jun 7, 2010 (gmt 0)

5+ Year Member



Hi All,

I am again stuck with trailing slash issue, this time a little bit complicated.

This is my rewrite:

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^([a-zA-Z_]+)$ index.php?country=$1
RewriteRule ^([a-zA-Z_]+)/([a-zA-Z_]+)$ index.php?country=$1&state=$2
RewriteRule ^([a-zA-Z_]+)/([a-zA-Z_]+)/([a-zA-Z_]+)$ index.php?country=$1&state=$2&city=$3
RewriteRule ^([a-zA-Z_]+)/([a-zA-Z_]+)/([a-zA-Z_]+)/age-([0-9\-]+)$ index.php?country=$1&state=$2&city=$3&age=$4

It works like this.. each time when a user selects country it asks for the state and then city. for example

domainname.com/country

after that

domainname.com/country/state

after that

domainname.com/country/state/city


and so on..

It works fine.. BUT when i add trailing slash, I get page not found error.

For example

domainname.com/country would work perfect

BUT

domainname.com/country/ will give error

also

domainname.com/country/state would work fine

BUT

domainname.com/country/state/

will generate error

Please help me.

Regards
Tabish
6:39 am on Jun 7, 2010 (gmt 0)

WebmasterWorld Senior Member g1smd is a WebmasterWorld Top Contributor of All Time 10+ Year Member Top Contributors Of The Month



First off, you need to add
[L]
to each rule.

Also
[a-z_]
with
[NC]
flag will parse faster than
[A-Za-z_]
here. However, I would use a hyphen not an underscore in the URL.

To fix the other problem, you simply need a redirect before all of these rewrites such that if URL is requested with trailing slash, user is redirected to URL without trailing slash.

A search for "
site:webmasterworld.com remove trailing slash
" will find prior examples.
 

Featured Threads

My Threads

Hot Threads This Week

Hot Threads This Month