I have the following htaccess rule:
RewriteRule ^listen/([^/]*)-([^/]*)/$ listen.php?pl=$1&id=$2
Sometimes the second argument (id) has a dash in it and I get 404 Not found, e.g:
mysite.com/listen/something-293Xff4-yZ
( the ID is 293Xff4-yZ)
The issue is that when I’m trying to get the ID argument (using $_GET['id']) – I get only the first part of the ID (before the dash – 293Xff4)
Any idea how I can getthe full part of the ID in this case?
Thanks!
Advertisement
Answer
You may use this regex in RewriteRule:
RewriteRule ^listen/([^-]+)-([^/]+)/?$ listen.php?pl=$1&id=$2 [L,QSA,NC]
It is also recommended to use Options -MultiView at top of your .htaccess as it may cause problems on some Apache versions where it is enabled by default.