should I allow "." in URL?
When user enters the offer name take that as $offer_name
and encode it using base64_encode($offer_name);
$encoded_name = base64_encode($offer_name);
Send this $encoded_name
to url...........and if you want to use offer name further decode it using base64_decode($encoded_name);
if you need the "." you can leave that in urls, if you then use url params to run queries just escape params before to run the query.
Usually i make a 301 redirect
to the base_url();
if somenthing wrong with url params.
just my 2 cents
You can allow "."
in URL by adding "."
in $config['permitted_uri_chars']
config variable in config.php
.