账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
  • 举报
    X
    经验分享,齐博x1附件与网站程序如何分离?
    121
    0

         现在的服务器越来越便宜,但是带宽却限得很死,以前阿里云搞活动都只有1M带宽,现在腾讯云加入竟争就好多了,可以有3M甚至5M。

    一旦发现网站变慢,很大可能就是带宽不足影响的。因为带宽卡住了。虽然云服务器可以随时加带宽,但是费用算下来,比新买一台服务器还贵。

    要解决这个办法,就是把网站程序与附件分离,比如把 /public/ 目录移到新的服务器去。

       注意是手工定时的移过去,比如每个月移一次。然后配置服务器,让他智能的选择访问,如果网站所在服务器没有附件的话,就去备用服务器读取。

    第一步,先删除 /public/.htaccess 此文件, 再修改网站根目录的文件 .htaccess 代码类似如下

    <IfModule mod_rewrite.c>
      Options +FollowSymlinks -Multiviews
      RewriteEngine On
    
    
    RewriteBase /
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
    
            RewriteCond %{REQUEST_URI} !\.html$ 
    	RewriteRule ^(.*)public\/static\/(.*)$ https://x1.soyixia.net/bak/static/$2 [R,L]
    
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^(.*)public\/uploads\/(.*)$ https://x1.soyixia.net/bak/uploads/$2 [R,L]
    
    
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
    # RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
      RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
    </IfModule>

    其中下面这条代码的意思就是强制把static目录,访问备用服务器的文件,即使本机有,也不访问。但.html结尾的文件就不要访问备用服务器的,因为单页路由要用到,不能跳来跳去。如果还有其它特殊的文件不要使用远程服务器的话,就把!\.html$ 改成 !(\.html|\.js|\.css)$

    RewriteCond %{REQUEST_URI} !\.html$ 
    RewriteRule ^(.*)public\/static\/(.*)$ https://x1.soyixia.net/bak/static/$2 [R,L]

    下面这个就是代表如果本地文件不存在,才访问备用服务器的文件。如果本机存在,比如新上传的,就访问本机的。不存在,才访问备用服务器的。

      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^(.*)public\/uploads\/(.*)$ https://x1.soyixia.net/bak/uploads/$2 [R,L]

    注意事项,把static目录,也访问备用服务器的话, 就会涉及到跨域的问题,有些字体图标会受影响因跨域不能访问,这个时候就要修改备用服务器的apache配置。加多下面的代码

    Header set Access-Control-Allow-Origin *

    如下图,修改后重启即可解决跨域的问题

    Nginx服务器解决跨域问题的话,要加如下代码

    location / {  
      add_header Access-Control-Allow-Origin *;  
    }


    原文网址:https://x1.php168.com/bbs/show-12545.html

     
      1.本文部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。

      2.若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

      3.如果本站有侵犯、不妥之处的资源,请联系我们。将会第一时间删除帖子!

      4.本站提供的资源来源网络收集或网友发布到本站,仅供学习研究之用,版权归原著所有,切勿用于商业用途和非法行为否则后果自负。请在24小时之内自行删除!

      5.本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报

      6.本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间退回积分、金币或者更新。

    2
    赏钱
    收藏
    点击回复
        全部留言
    • 0
    更多回复
    恢复多功能编辑器
  • 3 1
  • 推荐内容
    扫一扫访问手机版