大量のURLをhtaccessでリダイレクトしたいことってありますよね。
そんなときに、URLにURLエンコードされた日本語が入っているとリダイレクトされません。
なので日本語にもどしてやる必要があります。
「%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF」
↓↓↓
「こんにちは」
こんな感じですね。
やり方です。
target.txtにエンコードされた文字が入っているとします。
Windows Power Shellで以下を実行してください。
Get-Content .\target.txt |
ForEach-Object {
[regex]::Replace(
$_,
'(/(?:%[0-9A-Fa-f]{2})+)',
{ param($m) [uri]::UnescapeDataString($m.Value) }
)
} |
Set-Content .\decoded.txt -Encoding UTF8
そうするとdecoded.txtにデコードされたファイルができあがります。
コメント