Ваша проблема в том, что вы перенаправляете дважды.
'location/index.php'
соответствует регулярному выражению ^(.+)/?$
Возможно, вы захотите использовать условное условие "если файл не существует", чтобы оно не пыталось сопоставить второй раз.
RewriteEngine on
RewriteBase /location/
RewriteCond %{REQUEST_FILENAME} !-f # ignore existing files
RewriteCond %{REQUEST_FILENAME} !-d # ignore existing directories
RewriteRule ^(.+)/?$ index.php?franchise=$1 [L,QSA]
И, кроме того, есть [L, QSA], который пытается сделать его «последним» правилом (заметьте, это не совсем очевидно, как оно работает) и добавляет строку запроса к запросу, так что
location/foobar/?baz=quux ==> index.php?franchise=$1&baz=quux
(я думаю)