我需要将“example.com/image/img.jpg”重定向到“example.com/view/img.jpg”
因此我使用了
RewriteRule (^|.*?/)image/(.*)$ /$1view/$2 [R=302,L,NC]
但是,如果我尝试访问“example.com/image/img.jpg”,它仍然不会重定向。我做错了什么?
谢谢。
答案 0 :(得分:1)
我需要将“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]进行内部映射。