Я полагаю, что $1
не $2
$2
будет относиться ко второй сопоставленной группе, которую вы не установили. Попробуйте:
RewriteCond %{HTTP_HOST}
RewriteRule ^test/index.php/product/(.*)$ /test/index.php/$1 [R=301,L]
Флаг [L] заставляет mod_rewrite остановить обработку набора правил. В большинстве случаев это означает, что если правило соответствует, дальнейшие правила не будут обрабатываться. Документы
Проверьте здесь или здесь для получения дополнительной информации о правилах .htaccess.
Также убедитесь, что что у вас есть mod_rewrite on
, иначе он не будет работать. Если нет, я думаю, вы можете добавить его в свой .htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST}
RewriteRule ^test/index.php/product/(.*)$ /test/index.php/$1 [R=301,L]
В качестве альтернативы, если вы используете WooCommerce, попробуйте woo-permalink-manager plugin.