我需要将“example.com/image/img.jpg”重定向到“example.com/view/img.jpg”
因此我使用了
RewriteRule (^|.*?/)image/(.*)$ /$1view/$2 [R=302,L,NC]
但是,如果我尝试访问“example.com/image/img.jpg”,它仍然不会重定向。我究竟做错了什么?
谢谢你。
我需要将“example.com/image/img.jpg”重定向到“example.com/view/img.jpg”
显然,上述示例并不准确,因为您的规则显示了目录image
,并且view
可以位于相应 URL 目录结构中的任何级别。
如果是这种情况,您可以在根目录的一个 .htaccess 文件中尝试此操作:
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/(.*)?image/([^.]+)\.jpg [NC]
RewriteRule .* /%1view/%2.jpg [R,L,NC]
如果image
和view
目录确实位于示例中所述的第一级,请将最后两行替换为以下行:
RewriteRule ^image/(.*) /view/$1 [R,L,NC]
将 [R,L,NC] 替换为 [R=301,L,NC] 用于永久重定向,或替换为 [L,NC] 用于内部映射。