精华内容
下载资源
问答
  • <p><a href=... <p>I did the same.... <pre><code>RewriteEngine On ...RewriteRule ^(.*)$ /folder/$1 [R=301] ...<p>to /etc/apache2/sites-available/default. ... </div>
  • 我2年以前我就养成了习惯,只要是写路径我从来都是写绝对路径,因为万一将来我们的项目的目录发生变化,原来要是写相对路径的话就会有路径依赖关系,改的地方太多了。而且相对路径在某些情况下还有点特殊,有的是相...
    实际编码中我们经常写路径,写路径既可以写相对路径,也可以写绝对路径。我2年以前我就养成了习惯,只要是写路径我从来都是写绝对路径,因为万一将来我们的项目的目录发生变化,原来要是写相对路径的话就会有路径依赖关系,改的地方太多了。而且相对路径在某些情况下还有点特殊,有的是相对于原来的请求的目录,有的是相对于整个web应用,所以我强烈建议大家以后写路径统一用绝对路径(以“/”开头)来写,“/”表示站点的根路径。

    写路径的情况无非下面4种情况,这里做一个整理。

    • 1,超链接

    假设使用下面的目录结构:

               

    当前的请求路径:http://localhost:8080/linkin/Linkin.html或者http://localhost:8080/linkin/Linkin.jsp

    相对路径:

    1,我们来看看在linkin.html中引入linkin.js和linkin.html文件相对路径应该怎么写?

    <span style="white-space:pre">	</span><script type="text/javascript" src="../scripts/linkin.js"></script>
    	<link rel="stylesheet" type="text/css" href="../styles/linkin.css">

    2,如果在linkin.jsp中引入linkin.js和linkin.html文件相对路径应该怎么写?

    <span style="white-space:pre">	</span><script type="text/javascript" src="scripts/linkin.js"></script>
    	<link rel="stylesheet" type="text/css" href="styles/linkin.css">

    注意:上面的html文件和jsp文件引入静态资源相对路径还不一样,记住下面的一句话,如果是在服务器上直接运行的静态资源比如html文件引入别的静态资源这里的“相对”就是物理意义上的相对,如果是在服务器上要跳转的这种视图资源比如jsp文件引入别的静态资源这里的“相对”是相对于上整个web工程的相对,2者不同的。


    绝对路径:以“/”开头,“/”表示根目录,之后从项目名依次开始写。
    <script type="text/javascript" src="/linkin/scripts/linkin.js"></script>
    <link rel="stylesheet" type="text/css" href="/linkin/styles/linkin.css">

    • 2,表单提交
    当前的请求路径:http://localhost:8080/linkin/Linkin.jsp
    相对路径:<form action="LinkinServlet" method="POST">
    绝对路径:<form action="/linkin/LinkinServlet" method="POST">

    • 3,重定向
    当前请求路径:http://localhost:8080/linkin/LinkinServlet
    相对路径:resp.sendRedirect("jsp/Linkin1.jsp");
    绝对路径:resp.sendRedirect("/linkin/jsp/Linkin1.jsp");

    • 4,转发
    当前请求路径:http://localhost:8080/linkin/LinkinServlet
    相对路径:req.getRequestDispatcher("jsp/Linkin1.jsp").forward(req, resp);

    绝对路径:req.getRequestDispatcher("/jsp/Linkin1.jsp").forward(req, resp);


    总结:
    1,尽管我们不怎么写相对路径,但是难免会维护别人的代码,所以还是要了解一下的。如果在超链接中使用了到了相对路径,如果要是没有服务器跳转,比如html这些文件,则相对就是文件所在的目录,要是经过了服务器跳转,比如jsp这些文件或者通过XXX.do跳转到的页面上的话,这里的相对是相对于整个web应用,不一样的。


    2,绝对路径比较好,以后我们写路径都直接写绝对路径就好。除了转发,绝对路径的开头“/”代表域名之后的东西,也就是说相当于省去了整个url上面的主机IP和端口号而已,项目名称还是要写的。转发是唯一一个比较特殊的,因为转发本身就是在web应用内部跳转的,所以不能写项目名称,直接从项目名称后面开始写。

    • 如果还不理解,请好好理解下面这句话:
    传递给HttpServletResponse.sendRedirect 方法的相对URL以“/”开头,它是相对于整个WEB站点的根目录;如果创建RequestDispatcher 对象时指定的相对URL以“/”开头,它是相对于当前WEB应用程序的根目录。


    3,如果有代码洁癖的人在写绝对路径的时候,不想在jsp出现项目名称这种硬码,怎么办呢?用<%=request.getContextPath()%>来代替,比如:

    <link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/css/common.css" />
    <script type="text/javascript" src="<%=request.getContextPath()%>/jquery/base/jquery-1.8.0.js"></script>


    • 最后统一来整理下请求路径:

    请求路径是把请求导向到一个 servlet 来响应服务。它是由几个重要的部分来组成的。  通过 HttpRequest 对象,暴露了如下信息(对照应用的目录结构):
    1)上下文路径(Context Path) 
    该路径的前缀是和 ServletContext 相关的。如果 Context 就是 Web 服务器的 URL 命名空间的缺省的根上下文时,那么上下文路径将会是一个空的字符串。    如果上下文并不是服务器的命名空间的根,则上下文路径就以“/”开始,但不能以“/”结束。
    2)Servlet 路径(Servlet Path) 
    该路径就是直接与激活该请求的相应映射,它也是以“/”开头。但要注意的是,如果指定的请求是与“/*”模式相匹配,则此时 Servlet 路径就是一个空字符串。
    3)路径信息(PathInfo) 
    请求路径中除了上下文路径和 Servlet 路径以外的部分。当没有额外的路径时路径信息就是空的(null),或者它会以“/”开始的字符串。  在 HttpServletRequest 接口中定义如下的方法来访问请求路径的相应信息:getContextPath(); getServletPath(); getPathInfo();    值得注意的是,请求 URI 和路径的各部分之间的 URL 编码的不同之外,下面的等式恒成立:    requestURI = contextPath + servletPath + pathInfo


    展开全文
  • requests发生太多重定向,已超过了30个。 若仅仅利用在requests.get方法中添加参数allow_redirects=False,可以禁止重定向,不会产生问题了,但这样做也导致,无法获取重定向的数据。 可以利用以下方法: 1、先...

    在Python抓取数据时发生以下错误:
    requests.exceptions.TooManyRedirects: Exceeded 30 redirects.
    requests发生了太多的重定向,已超过了30个。
    若仅仅利用在requests.get方法中添加参数allow_redirects=False,可以禁止重定向,不会产生问题了,但这样做也导致,无法获取重定向的数据。
    可以利用以下方法:
    1、先开启requests请求的回话:
    s = requests.session()
    2、设置请求头部的用户代理:
    s.headers[‘User-Agent’] = ‘用户代理编码’ [编码可将请求url复制到浏览器,按f12打开开发者工具的NetWork查找请求信息]
    3、请求数据
    data = s.get(url)

    #html = requests.get(url, timeout=10,).content.decode('utf-8')
    s=requests.session()
    s.headers['User-Agent']='Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36'
    html=s.get(url).content.decode('utf-8')
    
    展开全文
  • 正常使用的状况下发生了循环重定向: 这个原因有很种 类型1:因为Https引起的,暂时把HTTPS去掉。随后重新按照正确方法配置HTTPS,并在Config.php中配置Https的访问权限。 类型2:真的设置了多重定向,...

    正常使用的状况下发生了循环重定向:

    这个原因有很多种

    类型1:因为Https引起的,暂时把HTTPS去掉。随后重新按照正确方法配置HTTPS,并在Config.php中配置Https的访问权限。

    类型2:真的设置了太多重定向,比如你设置了Https。然后不带WWW的域名跳转到www,但是你在hateness文件中又写了另外一个跳转,或者你在宝塔后台设置了第三个跳转。又或者在域名的控制面板上设置了跳转。总之,真的是因为过多的跳转导致的。这里就需要去除这些跳转。

    类型3:因为反复安装各种主题导致。这里需要找到wp-include文件夹,打开template-loader.php文件,找到下列代码(一般在前几排,一般分为两行)

    if ( defined('WP_USE_THEMES') && WP_USE_THEMES );do_action('template_redirect');

    把这两行代码注释掉。即可恢复正常访问。

    类型4:Wordpress循环重定向(适用于安装插件所引起的错误)

    这个一般是因为Wordpress安装错误导致的。

    找到您的当前主题文件夹下的functions.php文件,在最后加上下面一行代码:(注意,一定是在当前主题的文件夹下)

    remove_filter('template_redirect', 'redirect_canonical');
    展开全文
  • HTTP状态码

    2019-10-16 21:11:06
    被问的次数太多了,感觉得背下来的样子呢。 分类 状态码 描述 1** 信息,服务器手法哦请求,需要请求者继续执行操作 2** 成功,操作被成功接受并处理 3** 重定向,需要进一步的...

    被问的次数太多了,感觉得背下来的样子呢。

    分类

    状态码 描述
    1** 信息,服务器收到请求,需要请求者继续执行操作
    2** 成功,操作被成功接受并处理
    3** 重定向,需要进一步的操作以完成请求
    4** 客户端错误,请求包含语法错误或无法完成请求
    5** 服务器错误,服务器在处理请求的过程中发生了错误

    HTTP状态码列表

    状态码 英文描述 中文描述
    200 OK 请求成功。一般用于GET与POST请求
    301 Moved Permanently 重定向,资源被永久转移至其他URL
    302 Found 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI
    404 Not Found 请求资源不存在;
    500 Internal Server Error 服务器内部错误;
    502 Bad Gateway 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应

    更多信息参考《菜鸟教程官网》:https://www.runoob.com/http/http-status-codes.html

    展开全文
  • 小结HTTP状态码

    2020-12-09 08:59:23
    用户在给定的时间内发送了太多请求(“限制请求速率”)。在DDOS攻击中就可以使用到了。</li></ul> 备注:这里要注意的是422,别请求链接一出错,就屁颠屁颠的找后端,先看下...
  • 您可以使用Link Research SEO工具栏执行以下操作:•查看域或页面的力量和信任•发现从中获取链接的好地方•查看页面在社交媒体上的成功程度•了解用户的参与度•查看最强大的页面按关键字排名•链接数量发生急剧...
  • 3.6 邻区配问题分析 28 3.7 邻区漏配问题分析 29 3.8 邻区优先级的优化 31 3.9 单向邻区检查 31 3.10 异频邻区优化 32 3.11 异系统邻区优化 32 3.12 章节小结 32 4 接入问题分析 33 4.1 概述 33 4.2 接入失败的...
  • .htaccess

    2007-07-19 01:51:18
    虽然在服务器上使用.htaccess绝对不可能给你带来任何麻烦(如果有些东西错了,它只是没效用罢了),但如果你使用Microsoft FrontPage Extensions,就必须特别小心。因为FrontPage Extensions本身使用了.htaccess,...
  • 它本身就是一个完整的 32 位的用户任务操作 系统,因此不需要先安装 DOS 或其他的操作系统(MS Windows, OS2, MINIX..)就可以进 行直接的安装。 Linux的最早起源是在1991年10月5日由一位芬兰的大学生Linux ...
  • 3.3 当要排序的数据集因大而无法全部装入内存时,应怎样排序? 3.4 哪一种查找方法最方便? 3.5 哪一种查找方法最快? 3.6 什么是哈希查找? 3.7 怎样对链表进行排序? 3.8 怎样查找链表中的数据? 第4章...
  • 你必须知道的495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    然后又使用一些内存分配技巧使namestr数组用起来好像有个元素,namelen记录了元素个数。它是怎样工作的?这样是合法的和可移植的吗? 2.8 我听说结构可以赋给变量也可以对函数传入和传出。为什么K&R1却明确说明...
  • IIS6.0 IIS,互联网信息服务

    热门讨论 2010-08-23 21:20:55
    个IP对应个Web站点 如果本机已绑定了个IP地址,想利用不同的IP地址得出不同的Web页面,则只需在“默认Web站点”处单击右键,选“新建→站点”,然后根据提示在“说明”处输入任意用于说明它的内容(比如为“我...
  •  0214 附加到此程序或动态链接模块的动态链接模块太多。  0215 无法嵌套调用 LoadModule。  0216 图像文件 %1 有效,但不适用于本机类型。  0230 管道状态无效。  0231 所有的管道实例都处于忙状态。 ...
  • 然后又使用一些内存分配技巧使namestr数组用起来好像有个元素,namelen记录了元素个数。它是怎样工作的?这样是合法的和可移植的吗? 23  2.8 我听说结构可以赋给变量也可以对函数传入和传出。为什么K&R1却明确...
  • C语言编程要点

    2017-09-18 00:10:37
    1.3 什么时候用一条switch语句比用条if语句更好? 9 1.4 switch语句必须包含default分支吗? 10 1.5 switch语句的最后一个分支可以不要break语句吗? 11 1.6 除了在for语句中之外,在哪些情况下还要使用逗号...
  • 一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有个从...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    书中列出了C用户经常问的400个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预处理器等各个方面的主题,并分别给出了解答,而且结合代码示例阐明要点。 《你必须知道的495个C语言问题》结构...
  • IPv6.rar

    2012-07-25 17:07:33
    在网络重新编址过程中,节点和路由器的Link Local地址不会发生变化,可以很容易地做一个修改,不用担心网络不可达。 R1(config-if)#ipv6 address FE80:0:0:0:0123:0456:0789:0abc link-local 手工指定link-local...
  • dreamweaver的各种组件

    2008-06-26 16:55:56
    Insert All Files 这对于网站管理来说是一个很酷的工具,它可以在一张表格中列出您网站所有的文件名,小心,如果您网站文件太多的话,它会让您的DREAMWEAVER疯赶掉! Import Fireworks 对于您手中的FIREWORKS来说这...
  • java面试题

    2018-04-27 19:55:38
    redirect是重定向,浏览器跳转后显示新的地址。 对比之下forward更加高效,并且它有助于隐藏实际地址,但是有些情况则必须使用redirect,否则会报异常。 jsp中动态include和静态include的区别? 答:动态include用...
  • ExtAspNet_v2.3.2_dll

    2010-09-29 14:37:08
    -为空则使用默认的提示信息,默认的提示信息支持语言,建议一般情况下使用默认信息。 +为表单字段增加MarkInvalid和GetMarkInvalidReference函数(feedback:sun1299shine)。 -增加示例:form/form_validate....
  • -为空则使用默认的提示信息,默认的提示信息支持语言,建议一般情况下使用默认信息。 +为表单字段增加MarkInvalid和GetMarkInvalidReference函数(feedback:sun1299shine)。 -增加示例:form/form_validate....
  • 如果在本次会话期间磁盘配置发生变化,为获得更新的扫描,必须先重新启动计算机,然后再次扫描磁盘。  bootcfg /list 列出引导列表中已有的条目。  bootcfg /disableredirect 在启动引导程序中禁用重定向。  ...
  • WinRAR_4.0.exe

    2011-02-04 11:34:33
    安装图形界面 RAR 版本 - WinRAR,它可以处理更的压缩文件类型。 RAR 的功能包括: * 高度成熟的原创压缩算法 * 对于文本、声音、图像和 32 位和 64 位 Intel 可执行程序压缩的特殊优化算法 * 获得比类似...
  • 新版Android开发教程.rar

    千次下载 热门讨论 2010-12-14 15:49:11
    � 现有应用完善度不够,需要的开发工作量较大。----------------------------------- Android 编程基础 6 � 基于 QEMU 开发的模拟器调试手段不十分丰富,只支持通话、SMS等,速度慢。 � 暂不具备 Push Mail ...

空空如也

空空如也

1 2
收藏数 32
精华内容 12
关键字:

发生太多重定向