1

我需要将“example.com/image/img.jpg”重定向到“example.com/view/img.jpg”

因此我使用了

RewriteRule (^|.*?/)image/(.*)$ /$1view/$2 [R=302,L,NC]

但是,如果我尝试访问“example.com/image/img.jpg”,它仍然不会重定向。我究竟做错了什么?

谢谢你。

4

1 回答 1

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]

如果imageview目录确实位于示例中所述的第一级,请将最后两行替换为以下行:

RewriteRule ^image/(.*)   /view/$1 [R,L,NC]

将 [R,L,NC] 替换为 [R=301,L,NC] 用于永久重定向,或替换为 [L,NC] 用于内部映射。

于 2013-04-30T02:34:35.040 回答