Это связано со способом обработки правил mod_rewrite в файлах .htaccess. По сути, входные данные для RewriteRule будут только «файловой» частью пути, поэтому, когда URL равен .../album/42
, RewriteRule
будет совпадать с 42
.
Решением является использование RewriteCondition
. Что-то вроде:
RewriteCond %{REQUEST_URI} (.*)/album/([0-9]+)$
RewriteRule ^ %1/album.php?id=%2 [L,QSA]