apache中URL的最大长度是多less? 它在哪里logging,可configuration? 我正在实施一个公开的身份提供者,并希望知道我所面临的限制。 我知道Internet Explorer上2048字节的path限制。 这可以使用用户代理检测专门处理。 其他浏览器具有更高的URL限制。 所以我感兴趣的是编码应用程序时,Apache服务器的限制。
情景 我有一个应用程序,我们采取了旧的查询stringURL结构: ?x=1&y=2&z=3&a=4&b=5&c=6 并将其改为path结构: /x/1/y/2/z/3/a/4/b/5/c/6 我们正在使用ASP.NET MVC和(自然)ASP.NET路由。 问题 问题是我们的参数是dynamic的,并且(理论上)我们需要适应的参数数量是没有限制的。 直到我们被下列火车撞到,这一切都很好: HTTP错误400.0 – 错误的请求ASP.NET检测到URL中的无效字符。 当我们的URL超过一定的长度时,IIS会抛出这个错误。 Nitty砂砾 以下是我们发现的: 这不是一个IIS问题 IIS确实有一个最大path长度限制,但上面的错误不是这个。 了解点iis点networking如何使用请求过滤部分“基于请求限制的filter” 如果IIS的path太长,则会抛出404.14,而不是400.0。 此外,IIS最大path(和查询)的长度是可configuration的: <requestLimits maxAllowedContentLength="30000000" maxUrl="260" maxQueryString="25" /> 这是一个ASP.NET问题 经过一番探讨: IIS论坛主题:ASP.NET 2.0的最大URL长度? http://forums.iis.net/t/1105360.aspx 事实certificate,这是一个ASP.NET(好,.NET真的)问题。 问题的核心在于,据我所知,ASP.NET无法处理超过260个字符的path。 在棺材里的钉子,这是由菲尔哈克本人证实: 堆栈溢出ASP.NET URL MAX_PATH限制问题ID 265251 问题 那么问题是什么? 问题是,这个限制有多大? 对于我的应用程序,这是一个交易杀手。 对于大多数应用程序,这可能是一个没有问题的。 怎么披露? 没有提到ASP.NET路由的地方,我听说过这个限制的窥视。 ASP.NET MVC使用ASP.NET路由的事实使得这个影响更大。 你怎么看?
你将如何从URL中提取域名,排除任何子域名? 我最初的简单尝试是: '.'.join(urlparse.urlparse(url).netloc.split('.')[-2:]) 这适用于http://www.foo.com ,但不适用于http://www.foo.com.au 。 是否有办法在不使用关于有效顶级域名(TLD)或国家/地区代码(因为它们发生变化)的特殊知识的情况下正确执行此操作。 谢谢
什么是正确的方式来拉出从JavaScript使用JavaScript的path? 例: 我有url http://www.somedomain.com/account/search?filter=a#top 但我只想得到这部分 /帐号/search 如果有任何可以利用的东西,我正在使用jQuery。
htaccess删除我的网站的文件的.php扩展名。 RewriteEngine on RewriteBase / RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f RewriteRule ^(.*)$ $1.php [L,QSA] 现在,如果我去我的网站 www.mysite.com/home 工作正常,它redirect到home.php但url仍然友好。 但是,如果我写这个url: www.mysite.com/home.php home.php服务,并且URL不友好。 我怎样才能避免这种行为? 我想如果用户写www.mysite.com/home.php,显示在URL栏中的URL是www.mysite.com/home
什么是最好的方式来看到一个url存在和响应不是404?
我想要返回false如果URL需要超过5秒连接 – 这怎么可能使用Java? 这是我用来检查URL是否有效的代码 HttpURLConnection.setFollowRedirects(false); HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection(); con.setRequestMethod("HEAD"); return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
我在我的htaccess文件中有以下代码: # Force Trailing Slash RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^[^/]+$ %{REQUEST_URI}/ [L,R=301] 这似乎工作正常,当我去www.mydomain.com/testredirect到/testing/。 问题是,当我去www.mydomain.com/test/another它不会把斜杠放在另一个。 有没有人知道如何修改我的代码,无论URL的长度是多less,都要使尾部的斜杠起作用。 谢谢!
我有以下string: "Look on http://www.google.com". 我需要将其转换为: “看看http://www.google.com ” 原始string可以有多个URLstring。 我如何在PHP中做到这一点? 谢谢
我想发送一个URI作为查询/matrix参数的值。 在将其附加到现有的URI之前,我需要根据RFC 2396对其进行编码。例如,给定input: http://google.com/resource?key=value1 & value2 我期望输出: http%3a%2f%2fgoogle.com%2fresource%3fkey%3dvalue1%2520%26%2520value2 java.net.URLEncoder和java.net.URI都不会生成正确的输出。 URLEncoder是用于HTML表单编码,它与RFC 2396不同.URI没有一次编码单个值的机制,因此无法知道value1和value2是同一个键的一部分。