PHPWIND[民间论坛]数据搬迁导致丢失严重,用户数据基本全部损坏,十分遗憾来自phpwind.me的远古记忆

完美解决调用未上传头像用户的头像图片的404问题

挥着翅膀de男孩 离线 11.4K阅读 8回复 于 2014-06-13 16:41 发布在 技术文献 分类
Apache和IIS的方案:
有时在调用用户头像的时候,会出现返回一个不存在Url的问题,也就是访问出现404界面

这时候客户端浏览器图片处就会出现一个X,很不美观


我在此出示一种办法,可以让未上传头像的用户的头像被调用时显示默认头像


修改.htaccess文件为以下内容
RewriteEngine On
    
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !.(js|ico|gif|jpe?g|bmp|png|css)$ /index.php [NC,L]
    
    
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} .small
RewriteRule .jpg$ /res/images/face/face_small.jpg [NC,L]
    
    
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} .middle
RewriteRule .jpg$ /res/images/face/face_middle.jpg [NC,L]
    
    
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .jpg$ /res/images/face/face_big.jpg [NC,L]




Nginx的方案:
Nginx想实现这个比较麻烦,把Rewrite规则改成这样

location / {
    index  index.html index.htm index.php;
    #autoindex  on;
    if (-f $request_filename) {
           break;
    }
    if ($request_filename ~* "\.(js|ico|gif|bmp|png|css)$") {
        break;
    }
    if (-e $request_filename) {
        break;
    }
    if ($request_filename ~* small) {
        rewrite . /res/images/face/face_small.jpg last;
    }
    if ($request_filename ~* middle) {
        rewrite . /res/images/face/face_middle.jpg last;
    }
    if ($request_filename ~* "\.jpg") {
        rewrite . /res/images/face/face_big.jpg last;
    }
    rewrite . /index.php last;
}


效果:

图片:QQ截图20140613163945.jpg

标签

评论

8 最热 最新
游客
挥着翅膀de男孩
挥着翅膀de男孩
楼主
11年前 云南省
0
诺尘:奇怪,还是没有效果啊。回到原帖
你用的什么服务器软件?如果是Nginx的话要重启一下
诺尘
诺尘
11年前 中国
0
奇怪,还是没有效果啊。
元芳
元芳
11年前 Unknown
0
用伪静态规则写老感觉有点别扭~
挥着翅膀de男孩
挥着翅膀de男孩
楼主
11年前 IANA
0
hjx1997:nginx咋办……不要抛弃我们nginx用户啊~回到原帖
Nginx的我写好了
挥着翅膀de男孩
挥着翅膀de男孩
楼主
11年前 IANA
0
hjx1997:nginx咋办……不要抛弃我们nginx用户啊~回到原帖
模仿PW后台中介绍的Nginx的Rewrite规则写一个试试,Nginx没研究过(Light和IIS更别说了)
hjx1997
hjx1997
11年前 浙江省宁波市
0
nginx咋办……不要抛弃我们nginx用户啊~
挥着翅膀de男孩
挥着翅膀de男孩
楼主
11年前 IANA
0
admin:额
赞一个~
回到原帖
表示本站也存在这个问题,望尽快修复

图片:无标题.jpg

admin
admin
11年前 湖南省
0

赞一个~
s_footer