2012-02-21 36 views
-1

我的链接这样蜘蛛问题,链接路径是不正确的蜘蛛,但正确的浏览器

<a href="dealerships/<?php echo $_GET['state'];?>/chevrolet/?brand=chevrolet&state=<?php echo $_GET['state'];?>">Acura</a> 

<a href="/chevrolet/?brand=chevrolet&state=<?php echo $_GET['state'];?>">GMC</a> 

<a href="chevrolet/?brand=chevrolet&state=<?php echo $_GET['state'];?>">Maserati</a> 

表中的第一个正常显示,高达我使用蜘蛛模拟器(两种不同的)。第二和第三不这样做,但第一个解析为:

http://www.grademydealer.com/dealerships/texas/dealerships/texas/chevrolet/?brand=chevrolet&state=texas (WRONG) 

另外两个是正确的:

http://www.grademydealer.com/dealerships/texas/chevrolet/?brand=chevrolet&state=texas 

我该如何解决这个问题?

回答

0

OK,用有限的信息我要大胆的猜测。我认为缺少的/会将URL添加到当前页面。所以我猜你正在查看页面经销商/ teax。更改< A HREF = “经销商以< A HREF =”/经销商

会让 http://www.grademydealer.com/dealerships/texas/dealerships/texas/chevrolet/?brand=chevrolet&state=texas

http://www.grademydealer.com/dealerships/texas/chevrolet/?brand=chevrolet&state=texas

此外,您还需要消毒_GET变量。什么是阻止用户将恶意代码放入获取并发送给用户?

我希望有帮助。

+0

为什么OP能够在浏览时看到PHP代码?我假设他/她只会被HTML服务......看起来好像OP正在爬行的页面中存在一个错误。 – Kiril 2012-02-21 21:19:27

+0

可能,但他说,链接正在解决粘贴的超链接,我不认为(尽管我可能是错的)。我认为问题在于他们没有指向正确的页面,因为他没有给出绝对的路径。也许该op可以clirify? – encodes 2012-02-21 21:24:54

+0

你不能在html中看到php; - )...链接并不像你说的那样指向正确的路径。这很奇怪..我把整个表格转换成绝对路径 - http:// grademydealer/dealerships/.....这个工程,我只是没有想到我必须这样做 – 2012-02-21 21:29:56

0

看样子,你们抓取一个PHP页面,但是,对我来说这似乎是一个严重内置PHP页面,因为PHP代码中的链接出现(但我不是一个PHP程序员)。通常,<?php会提供插入的PHP代码,这些代码在框架执行后将导致实际的HTML或任何其他必须提供给客户端的代码。请参阅PHP syntax for more info

你能分享你为了得到第一个链接,您声称可以解决抓取URL。我很想看到HTML代码。

+0

我显示的代码是怎么写的,当然它呈现与回声相应的文本。 – 2012-02-21 21:22:43

+0

我已经通过包含完整路径http://完成了一个修补程序,因此该页面不像上面那样进行渲染。但我仍然想知道它为什么会发生。 – 2012-02-21 21:24:30

+0

丹尼尔·亨特,其因为如果你不指定/在超链接的beggining将它添加到当前页面(不含查询字符串)阅读上面:)我的答复 – encodes 2012-02-21 21:27:43