Насколько я знаю, вы не можете декодировать Base64 в .htaccess / mod_rewrite.Но вы можете сделать обходной путь через PHP.
Так что вам нужно перехватить старый URL и переписать его в файл PHP, который декодирует Base64 и перенаправляет на новый URL.
Содержимое .htaccess
:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^product=([^&]+)
RewriteRule ring-details\.php$ redirect.php?product=%1 [L]
Содержимое redirect.php
:
<?php
header('Location: http://'.$_SERVER['HTTP_HOST'].'/rings/ring-detail/'.intval(base64_decode($_GET['product'])).'.htm', true, 301);
?>
Но на самом деле вы можете изменить ring-details.php
и добавить этот код в самом верху:
<?php
if(!empty($_GET['product'])){
header('Location: http://'.$_SERVER['HTTP_HOST'].'/rings/ring-detail/'.intval(base64_decode($_GET['product'])).'.htm', true, 301);
exit;
}
?>