带问号的网址表示找不到网页

时间:2013-08-01 13:34:02

标签: url contao

我在某个特定网站上遇到涉及问号的网址问题。

如果您点击此链接http://granovino.de/?k 它会找到一个找不到的页面。

但在其他网站上并非如此http://annaline.net/?k

我想知道为什么以及如何解决这个问题?我该怎么看?该网站由Contao构建,如果重要的话。

谢谢, 安德烈

2 个答案:

答案 0 :(得分:1)

问题确实存在于查询字符串中。 Contao检查是否存在未使用的$ _GET变量(意味着系统中没有代码检查变量),如果是,则确定URL无效并抛出404.

在Contao 3核心中,此检查在FrontendTemplate->output()方法中完成。

详细讨论了这个问题on GitHub here.(主要是德语)

为了使URL有效,代码的某些部分必须调用Input::get('xxx')以将查询字符串变量标记为系统中的“已使用”。

答案 1 :(得分:0)

所以这里有一个关于Query Strings的简短教程

引用维基百科: 在万维网中,查询字符串是统一资源定位符(URL)的一部分,其中包含要传递给Web应用程序的数据

Query String是将数据从应用程序的一个页面传递到另一个页面的技术之一。将它们视为从一个页面传递到另一个页面的变量。 URL中的问号(?)后跟的所有内容都是查询字符串的一部分。

包含查询字符串的URL的典型示例是

http://www.sample-url@priorqurystring.com/?field1=value1&field2=value2&field3=value3

或如果它包含子网站,则:

http://www.sample-url@priorqurystring.com/subsite1/default.php?field1=value1&field2=value2&field3=value3

上述网址中的查询字符串为

FIELD1 =值1&安培; FIELD2 =值2&安培;字段3 =值3

现在,此查询字符串对应于具有相应值的3个字段(变量)。

在您的应用程序的服务器端;对于该特定页面,您可以访问查询字符串字段以获取相应的值,并对这些值进行处理以获得所需的结果。

有关详细信息,请参阅Wikipedia

考虑一下您的担忧,网站的开发者必须决定以这种方式处理查询字符串,并且必须重定向到“找不到页面”。也许他们正在操纵页面上的一些查询字符串,如果查找不正确的查询字符串,他们会将您重定向到错误页面。