これを私のWebサーバーにリダイレクトする必要があります。
www.hostname.com/path1/path2/123456789
到着www.hostname.com/search?q=123456789
このルールをhtaccessファイルに挿入しました。
RewriteRule ^/path1/path2/([0-9]+)$ /search?q=$1 [L,R=301]
しかし、うまくいきません(数字は変数です)。
答え1
.htaccessファイルには前にスラッシュを含めないでください。 「各ディレクトリのプレフィックス(特定のディレクトリの場合は常に同じです)は、RewriteRuleパターンマッチングのために自動的に削除され、相対ディレクトリ(スラッシュまたはプロトコル名が前にない)の後に自動的に追加されます。
.htaccessがどのディレクトリにあるかはわかりませんが、そのディレクトリのプレフィックスを削除する必要があります。
RewriteRule ^path1/path2/([0-9]+)$ /search?q=$1 [L,R=301]
…または…
RewriteRule ^path2/([0-9]+)$ /search?q=$1 [L,R=301]
…または…
RewriteRule ^([0-9]+)$ /search?q=$1 [L,R=301]