<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 偽靜態/跨域 文檔最后更新時間:2021-07-12 14:43:02 ### 偽靜態跨域配置 #### 為什么配置偽靜態? 1.偽靜態通過URL重寫隱藏應用的入口文件index.php和實際路徑,會減少些許安全問題。 2.配置偽靜態重寫URL后,可以使得URL鏈接更加優美,否則會有太多的\[/&?\]等帶參字符,使得路徑凌亂,在拼接一些跳轉邏輯時也會很繁瑣。 #### 為什么配置跨域? [為什么給你設置重重障礙?講一講Web開發中的跨域](https://zhuanlan.zhihu.com/p/39466226) 跨域問題可以在PHP代碼或Nginx/Apache中解決,在這里我們統一使用HTTP Server的配置來解決。 > 在PHP代碼中無法解決一些靜態資源的跨域問題,例如我們的海報生成是在前端使用Canvas組合繪制的,如果只在PHP代碼中加入header跨域設置,圖片這些靜態資源是不走PHP的響應層的,Canvas下載這些圖片資源也會提醒跨域問題導致圖片無法組合。 ### nginx 偽靜態/跨域配置 > 版本必須大于等于 V1.2.0.20201001\_beta #### 配置跨域 修改配置文件`/application/config.php`文件`fastadmin`配置項下的選項`cors_request_domain`(如果沒有,請自行在`fastadmin`配置項下面自行添加) ~~~ //允許跨域的域名,多個以,分隔 'cors_request_domain' => 'localhost,127.0.0.1,您的 h5 域名(無需攜帶http和端口號)' //如果暫時無法確認您的跨域域名 可簡單使用通配符來囊括所有域名 'cors_request_domain' => '*' ~~~ #### 配置偽靜態/圖片跨域 **因為前端 h5 生成海報需要下載圖片,這里仍然需要配置靜態資源跨域** ![](https://img.kancloud.cn/a8/b5/a8b5a6c2b84d6b17d0ea7477d0038208_1100x497.png) nginx 配置代碼 ~~~ location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; } } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { #允許靜態資源跨域請求 add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS'; add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, token, platform'; expires 30d; access_log off; } ~~~ * * * ### 分割線(下面全是 apache 的配置) * * * ### apache 偽靜態/跨域配置 > 版本必須大于等于 V1.2.0.20201001\_beta 因為 apache 無法單獨配置圖片跨域,并且 fastadmin 自帶的跨域又無法解決生成海報時圖片跨域的問題,所以這里采用 apache 配置跨域方式,并且移除 fastadmin 自帶的跨域 #### 配置偽靜態/跨域 ~~~ <IfModule mod_headers.c> Header always add Access-Control-Allow-Origin: "*" Header always add Access-Control-Allow-Methods: "GET,POST,PUT,DELETE,HEAD,OPTIONS" Header always add Access-Control-Max-Age: "1000" Header always add Access-Control-Allow-Credentials: "true" Header always add Access-Control-Allow-Headers: "Origin, X-Requested-With, Content-Type, Accept, token, platform" </IfModule> <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L] RewriteCond %{REQUEST_METHOD} OPTIONS RewriteRule ^(.*)$ $1 [R=200,L] </IfModule> ~~~ #### 【只有 apache 才需要移除】移除 fastadmin 程序中的跨域【重要】 找到 application/common/controller/Api.php \_initialize 方法 將 \_initialize 方法中的 check\_cors\_request(); 方法注釋掉,大約在 96 行 如果您有奇奇怪怪的部署模式或問題,歡迎告知我們來幫您解決~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看