1

基本上,我将网站上的图像生成从 PNG 更改为 JPG,并转换了所有现有文件以节省空间。问题在于对旧 PNG 版本的请求。

这只影响了一些特定的目录,例如 /imgs/profiles/

我试图自己理清规则,但这让我发疯。

如果有人可以给我一个在 /imgs/profiles/ 中将 PNG 请求重写为 JPG 的示例,我可以对所有其余部分进行排序,以便在此处节省空间。

编辑 - 我的 htaccess 顶部的部分

FileETag None
Options +FollowSymLinks -MultiViews
RewriteEngine On

RewriteCond %{HTTP_HOST} !^www.site.net
RewriteRule (.*) http://www.site.net/$1 [R=301,L]

ErrorDocument 404 /404.php
ErrorDocument 300 /404.php

RewriteBase /imgs/profiles/
RewriteRule ^([^.]+)\.png$ /$1.jpg [R=301,L,NC]

RewriteRule ^file file.php [L,NC]
4

1 回答 1

2

通过启用 mod_rewrite 和 .htaccess httpd.conf,然后将此代码放在您.htaccess$DOCUMENT_ROOT/imgs/profiles目录下:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /imgs/profiles/

RewriteRule ^([^.]+)\.png$ /imgs/profiles/$1.jpg [R=301,L,NC]

编辑:我在这里为您的 .htaccess 提供修复:

确保这个 .htaccess 直接在你的$DOCUMENT_ROOT目录下:

FileETag None
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

ErrorDocument 404 /404.php
ErrorDocument 300 /404.php

RewriteCond %{HTTP_HOST} !^www\.site\.net$ [NC]
RewriteRule ^(.*)$ http://www.site.net/$1 [R=301,L]

RewriteRule ^(imgs/profiles/[^.]+)\.png$ /$1.jpg [R=301,L,NC]

RewriteRule ^file/?$ /file.php [L,NC]
于 2013-03-22T19:19:06.440 回答