Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“PHP和服务器”;路径信息“;_Php_Url - Fatal编程技术网

“PHP和服务器”;路径信息“;

“PHP和服务器”;路径信息“;,php,url,Php,Url,在用PHP构建网站的过程中,我发现URL能够包含不属于它的额外信息,例如 http://www.mydomain.com/index.php/extrainformation 我已经读到它是$\u SERVER['PATH\u INFO']的一部分,但需要找到一种方法来阻止这些信息在谷歌搜索结果中显示出来。我可以通过在.htaccess文件中添加条件来防止这种情况吗 有什么见解吗?这些信息在技术上是有效的URL,即使它被您的网页忽略。因此,如果像谷歌这样的搜索引擎找到一个URL,可能是通过一个

在用PHP构建网站的过程中,我发现URL能够包含不属于它的额外信息,例如

http://www.mydomain.com/index.php/extrainformation
我已经读到它是
$\u SERVER['PATH\u INFO']
的一部分,但需要找到一种方法来阻止这些信息在谷歌搜索结果中显示出来。我可以通过在.htaccess文件中添加条件来防止这种情况吗


有什么见解吗?

这些信息在技术上是有效的URL,即使它被您的网页忽略。因此,如果像谷歌这样的搜索引擎找到一个URL,可能是通过一个链接,其中包含了额外的信息,并调出了一个有效的网页,他们会在结果中显示出来

您可以通过以下几种方法解决此问题:

  • 用于指定正确的URL,而不包含额外信息
  • 如果URL被附加到某个URL,则对该URL执行一次附加操作,但不包含垃圾信息
  • 返回URL无效的错误(HTTP 40x)

  • 这三种方法都将阻止谷歌使用类似于Apache多视图的URL对页面进行索引。将此添加到htaccess文件:

    Options -MultiViews
    

    是否必须使用url设计,或者您是否能够更改它们并通过查询字符串使用额外的信息?例如。。我这样问是因为查询字符串在索引时会被忽略。如果index.php/get被调用,您可以创建一个重写规则将用户重定向到某个地方。您不能“隐藏”uri。如果您的应用程序使用这些属性来构造页面,删除它并将用户重定向到某个地方可能会创建一个无用的站点。@Daxcode,我甚至不知道它们是如何生成的。似乎只是页面上的链接。我不知道它们是特定于应用程序的,因为它们只是链接,而不是像“footer.php”这样的项目或我有意包含的实际元素。显然,我对PHP的世界很陌生,我感到很迷茫。@user1161032由于路径信息将用于提供SEO友好的url,我建议在使用查询字符串时更改url结构。此字符串的值可以通过$\u服务器['QUERY\u string']访问。你用的是哪个应用程序?很确定它不是多视图。在我的htaccess文件中添加了这一行以进行验证,它没有任何影响。实际上,我很确定这些都是多视图。当然,除非你有一些高级的mod_重写规则。关于301,我是否需要为url的每个实例都添加额外的信息?问题是要找到他们。我之所以注意到这一点,是因为谷歌搜索结果页面上出现了一个链接。我希望有一个更普遍的解决办法,防止他们被发现。如果可能的话。否则我会把它们去掉1x1。一个写得很好的mod_重写可以处理多个URL,这样301重定向就不难在整个站点上实现了。规范URL方法是一种易于实现的方法,因为您可以通过编程轻松地将其添加到内容页中,并且它可以处理一个页面可能具有的所有URL。我继续在所有页面上实现了规范链接,因此我将看看这是否会清除Google的漏洞。理论上,这应该是一个很好的选择。谢谢你的大脑启动。