将脏的 url 重定向到干净的 url

Redirect dirty urls to a clean url

好的,我已经完成了清理 urls 的过程,一切顺利,我将以下内容放入我的 htaccess。

RewriteEngine On
RewriteRule ^([^/]*)\.html$ /l/index.php?mp3=&img=http://www.dailynewsounds.com/wp-content/uploads/2016/01/tinashe-5535799554a1b-3.jpg&g=R\%26amp\%3BB&p=8\%20hours\%20ago&s=+Energy&a=Tinashe+Ft.+Juicy+J+ [L]

这可以改变我的 urls 但我们有我们讨厌的 urls 指向页面。

http://dl.example.com/l/index.php?mp3=oo8aey7qw3n9&img=http://www.example.com/wp-content/uploads/2016/01/stuey-rock-ft-sy-ari-da-kid-569e83c69cf5e.jpeg&g=R%26amp%3BB&p=10%20hours%20ago&s=+Me+And+You&a=Stuey+Rock+Ft.+Sy+Ari+Da+Kid+

如何才能检查我的 url 以查看它是否包含 index.php 以及它是否将其重定向到新页面?

尝试以下规则:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET\ /l/index\.php\?\S*mp3=\S* [NC]
RewriteCond %{QUERY_STRING} \bmp3=([^\s&]+) [NC]
RewriteRule ^ /%1.html? [R=301,L]

如果您使用的是 Apache 2.4.x,请将 L] 替换为 L,QSD]