基本上我将站点上的图像生成从PNG更改为JPG并转换所有现有文件以节省空间。问题在于对旧版PNG的请求。
这只影响了一些特定目录,例如/ imgs / profiles /,例如
我试图自己解决这条规则,但这让我很生气。
如果有人可以给我一个例子来重写PNG请求作为JPG in / imgs / profiles /我可以为了节省空间而对所有其他请求进行排序。
编辑 - 我的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]
答案 0 :(得分:2)
通过httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放在.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直接位于$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]