Andres SK
Andres SK

Reputation: 10974

Using spaces in URL and .htaccess

I wrote a local name/phone/address search engine for my city.

Users must be able to quick-access the results by going to either of these urls:

  1. search by number
  2. search by lastname
  3. search by lastname and first name

This is my current .htaccess config:

# Smart links
RewriteRule ^([0-9]+)$ /html/index.php?phone=$1 [QSA,L]
RewriteRule ^([A-Za-z-]+)$ /html/index.php?lastname=$1 [QSA,L]
RewriteRule ^([A-Za-z-]+)/([A-Za-z-]+)$ /html/index.php?lastname=$1&name=$2 [QSA,L]

That works pretty well, except if the user includes a space in the lastname and/or first name. Also, no numbers can be used when searching for names.

Any ideas on how to allow spaces in the url? Thanks!

Upvotes: 5

Views: 10316

Answers (2)

Andres SK
Andres SK

Reputation: 10974

RewriteRule ^([A-Za-z-\s]+)/([A-Za-z-\s]+)$ /index.php?lastname=$1&name=$2 [QSA,L]

The \s will take care of blank spaces.

Upvotes: 1

borayeris
borayeris

Reputation: 2650

Can you try this? ([a-z-\s]+)

RewriteRule ^([0-9]+)$ /html/index.php?phone=$1 [QSA,L]
RewriteRule ^([A-Za-z-\s]+)$ /html/index.php?lastname=$1 [QSA,L]
RewriteRule ^([A-Za-z-\s]+)/([A-Za-z-\s]+)$ /html/index.php?lastname=$1&name=$2 [QSA,L]

Upvotes: 14

Related Questions