你可以试试这个:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !page\.php [NC]
RewriteCond %{REQUEST_URI} ^/uploads/([^/]+)/? [NC]
RewriteRule . page.php?url=uploads/%1 [L]
静默地图
http://null.com/uploads/someimage.jpg
带或不带斜杠
到:
http://null.com/page.php?url=uploads/someimage.jpg
假定字符串uploads
是固定的,而someimage.jpg
可以是任何名称。
脚本名称page.php
是一个示例,也可以是任何名称。替换规则集中的所有实例。
对于永久和可见的重定向,替换[L]
为[R=301,L]
这个答案是根据 OP 评论中的描述:
“...将用户重定向到此页面并将以前的原始网址作为帖子值传递...”
page
脚本在哪里。
注意:在替换 URL 中传递的参数可以使用 PHP 使用$_GET
or $_REQUEST
, not来捕获$_POST
。
更新
这是另一个版本:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !page\.php [NC]
RewriteRule ^(.*)\.jpg page.php?url=$1.jpg [L]
静默地图
http://null.com/any/number/of/folders/someimage.jpg
到:
http://null.com/page.php?url=any/number/of/folders/someimage.jpg
仅当传入 URL 包含jpg
路径末尾带有扩展名的文件时,才会应用重写规则。