解决beego根目录不能访问静态文件的问题

 更新时间:2017年7月6日 23:34  点击:2359
本篇文章为大家介绍一下完美解决beego 根目录不能访问静态文件的问题,很不错哦,有需要的朋友就来参考一下吧。

beego可算是Go框架里面文档最多的了。学起来比较容易。但是框架自身的局限性却带了不小的问题。

最近我在处理flash跨域问题上就遇到个活生生的例子:

flash里面的as3访问外网时没啥问题。可是假如通过网页调取的情况下,flash访问的外网又与所在网页不是一个域的。就会产生跨域问题。打开浏览器,f12之后,看到的就是flash没有访问你的url,而是访问了这个url所在的域名根目录下的配置文件crossdomain.xml。该配置文件来设置跨域访问的权限。

这时候需要在你的域名根目录下放个crossdomain.xml文件。恰巧我用的是beego,不支持这功能!~

解决办法:

既然不支持那就把beego写成一个文件服务器的功能即可。把我的crossdomain.xml同样放到static下,在收到这个请求时,直接将这个文件写回到response即可。上代码:

 

 代码如下复制代码

package main

import (

"fmt"

http "net/http"

"path/filepath"

"strings"

 

 

"github.com/astaxie/beego"

)

 

 

type MainController struct {

beego.Controller

}

 

 

func (this *MainController) Get() {

//this.Ctx.Request.URL= http://127.0.0.1/crossdomain.xml

orpath := this.Ctx.Request.URL.Path

 

 

 

if strings.Index(orpath, "crossdomain.xml") >= 0 {

fmt.Println(orpath) // /crossdomain.xml

 

path := filepath.Join(`static`, "crossdomain.xml")

 

http.ServeFile(this.Ctx.ResponseWriter, this.Ctx.Request, path)

}

 

this.Ctx.WriteString("hello world" + orpath)

 

}

 

 

func (this *MainController) Post() {

name := this.GetString("name")

sex := this.GetString("sex")

this.Ctx.WriteString(name + sex+"成功")

fmt.Println(name + sex)

}

 

 

 

func main() {

 

beego.Router("/*", &MainController{})

beego.Run()

}

 

当然了这不是什么好办法。只是抛砖引玉而已。所有的请求都要判断一下,如果想完善一下,在路由配置时可以精确匹配url处理的controller就好了,而对于自己的controller就会没有影响了

今天为大家分享一篇PHP7安装调试工具Xdebug扩展的方法教程,有需要的朋友就来参考一下吧。

前言

说到PHP代码调试,对于有经验的PHPer,通过echo、print_r、var_dump函数,或PHP开发工具zend  studio、editplus可解决大部分问题,但是对于PHP入门学习的童鞋来说有一定的难度,而且仅仅通过上述这些PHP调试手段,也很难准确发现PHP性能方面的问题,Xdebug是一个非常有用的PHP调试工具。

测试环境

  • LNMP 军哥一键包1.3版本

  • PHP 7.0.7

  • Xdebug 2.6

配置步骤

根据自身环境执行下列命令进行安装,切记不可原样复制执行

 

 代码如下复制代码

git clone git://github.com/xdebug/xdebug.git

cdxdebug

find/ -name phpize

/usr/bin/phpize

find/ -name php-config

./configure--enable-xdebug --with-php-config=/usr/local/php/bin/php-config

make

makeinstall

 

出现下图提示代表安装成功

开启扩展

 

 代码如下复制代码

find/ -name php.ini

vi/usr/local/php/etc/php.ini

添加 extension=xdebug.so

service restart php-fpm

 

访问phpinfo出现下图提示代表开启成功

本篇文章为大家介绍了Python实现两个list对应元素相减操作示例,结合实例进行了分析,有需要的朋友就来参考一下。

本文实例讲述了Python实现两个list对应元素相减操作。分享给大家供大家参考,具体如下:

两个list的对应元素操作,这里以相减为例:

 

 代码如下复制代码

# coding=gbk

v1=[21,34,45]

v2=[55,25,77]

#v = v2 - v1      # Error: TypeError: unsupported operand type(s) for -: 'list' and 'list'

v=list(map(lambdax: x[0]-x[1],zip(v2, v1)))

print("%s\n%s\n%s"%(v1, v2, v))

 

运行结果:

 

 代码如下复制代码

E:\Program\Python>del.py

[21,34,45]

[55,25,77]

[34,-9,32]

 

本篇文章主要介绍了Python实现删除文件中含“指定内容”的行功能,有需要的朋友可以来参考一下。

本文实例讲述了Python实现删除文件中含指定内容的行。分享给大家供大家参考,具体如下:

 

 代码如下复制代码

#!/bin/env python

importshutil, sys, os

darray=[

  "Entering directory",

  "In function ",

  "Leaving directory",

  "__NR_SYSCALL_BASE",

  "arm-hisiv100-linux-ar ",

  "arm-hisiv100-linux-gcc ",

  "but argument is of type",

  "dereferencing type-punned pointer will break strict-aliasing rules",

  "differ in signedness",

  "does break strict-aliasing rules",

  "embedded '\\0' in format",

  "excess elements in array initializer",

  "implicit declaration of",

  "make -C ",

  " rm -f",

  "this is the location of the previous definition",

  "warning: multi-line comment"

]

defisInArray (array, line):

  foriteminarray:

    ifiteminline:

      returnTrue

  returnFalse

if__name__=='__main__':

  argv=sys.argv

  argc=len(argv)

  ifargc<2:

    print"Usage: %s"%(os.path.basename(argv[0]))

    exit()

  fname=argv[1]

  fresult=fname+".result"

  withopen(fname,'r') as f:

    withopen(fresult,'w') as g:

      forlineinf.readlines():

        ifnotisInArray(darray, line):

          g.write(line)

 

[!--infotagslink--]

相关文章

  • C#获得程序的根目录以及判断文件是否存在的实例讲解

    今天小编大家分享一篇C#获得程序的根目录以及判断文件是否存在的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
  • 利用Node.js获取项目根目录的小技巧

    这篇文章介绍的是一个小技巧来获取node.js项目根目录,这个技巧非常实用。有需要的朋友们可以参考借鉴,下面来一起看看吧。...2016-10-02
  • IIS7、iis7.5中禁止缓存单个静态文件的配置方法

    这篇文章主要介绍了IIS7、iis7.5中禁止缓存单个静态文件的配置方法,需要的朋友可以参考下...2017-07-06
  • C#获取根目录实现方法汇总

    这篇文章主要介绍了C#获取根目录实现方法汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-12-08
  • 解决beego根目录不能访问静态文件的问题

    本篇文章为大家介绍一下完美解决beego 根目录不能访问静态文件的问题,很不错哦,有需要的朋友就来参考一下吧。 beego可算是Go框架里面文档最多的了。学起来比较容易...2017-07-06
  • c#取得控制台应用程序根目录

    编写程序的时候,经常需要用的项目根目录。现在把方法总结如下分享给大家...2020-06-25
  • php获取网站根目录物理路径的几种方法(推荐)

    下面小编就为大家带来一篇php获取网站根目录物理路径的几种方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2017-03-12
  • php 生成html静态文件类程序与实例使用方法

    class html { var $dir; //dir for the htmls(without/) var $rootdir; //root of html files(without/):html var $name; //html文件存放路径 var $dirname...2016-11-25
  • 获取根目录的URL例如http://localhost:51898

    这篇文章主要介绍了获取根目录的URL的方法,需要的朋友可以参考下...2021-09-22
  • asp .net core静态文件资源的深入讲解

    这篇文章主要给大家介绍了关于asp .net core静态文件资源的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-09-22
  • ASP.NET Core静态文件使用教程(9)

    这篇文章主要为大家详细介绍了ASP.NET Core静态文件的使用教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
  • 浅谈beego默认处理静态文件性能低下的问题

    本篇文章主要为大家介绍了浅谈beego默认处理静态文件性能低下的问题,有需要的朋友就来参考一下吧。 今天使用ab(apacheBench)测试了一下beego的性能。3Kbytes动态文...2017-07-06
  • php 生成静态文件实例类函数

    php 生成静态文件实例类函数 //-----------------------------生成静态的类------------------------------- class Makehtml{ public $MbUrl,$OutUrl,$AllHtml,...2016-11-25
  • .NET中获取程序根目录的常用方法介绍

    这篇文章主要介绍了.NET中获取程序根目录的常用方法有哪些,具体都有什么功能,需要的朋友可以参考下...2021-09-22
  • ASP.NET Core静态文件的使用方法

    这篇文章主要给大家介绍了关于ASP.NET Core静态文件的使用方法,文中通过示例代码介绍的非常详细,对大家学习或者使用ASP.NET Core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2021-09-22
  • apache设置静态文件缓存方法介绍

    为了减少客户端对服务端资源的请求,可以开启mod_expires.so模块 在apache%C5%E4%D6%C3/" target="_blank">apache配置文件中去掉这段 “#LoadModule expires_module mod...2016-01-28
  • 静态文件实现点击

    静态文件实现点击 <?php require_once("a/f.php"); $id =isset($_GET['id'])?$_GET['id']:''; if(!is_numeric($id)){ exit('unkown'); }else{ $sql ="update fileco...2016-11-25
  • asp.net 文件路径之获得虚拟目录的网站的根目录

    asp.net下获取文件路径常用代码,获得虚拟目录的网站的根目录...2021-09-22
  • 解析如何利用一个ASP.NET Core应用来发布静态文件

    本文主要通过一些简单的实例来体验一下如何在一个ASP.NET Core应用中发布静态文件。针对不同格式的静态文件请求的处理,ASP.NET Core为我们提供了三个中间件,它们将是本系列文章论述的重点。有需要的朋友可以看下...2021-09-22
  • 详解php 生成静态文件优化技术

    预备知识 模板技术: PHP模板引擎Smarty介绍 PHP配置使用Smarty技术 缓存技术: 比如经常不变的信息,但是还是需要改变的信息放在缓存中以加快显示速度,这是很有价值...2016-11-25