爬行器将使用哪个链接来搜索列表,静态链接还是RewriteRule url


Which link will a spider use for search listings, the static link or the RewriteRule url?

我是Apache重定向的新手,但已经学会了如何处理由PHP在我的网站上生成的干净的url,这些url工作得很好。

我一直在研究这个问题,似乎找不到一个简单直接的答案。

我的问题是,爬虫/蜘蛛/机器人将使用链接php显示在我的网站:example.com'Shoes'Running'Men或他们会使用RewriteRule url: example.com'subsubcat_lookup.php?c=$1&s=$2&ss=$3作为一个将最终显示在搜索引擎?(见下面我的。htaccess)

我也见过PT|passthrough标志在下面的例子中使用:

我应该在我的情况下使用的东西吗?

非常感谢你对这个问题的澄清。

My .htaccess文件:

RewriteEngine on
# do not do anything if already existing file, symbolic link or directory
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .+ - [L]
# redirect clean url (/category) for processing
RewriteRule ^([^/]+)$ ./cat_lookup.php?c=$1 [L,B]
RewriteRule ^([^/]+)/$ ./cat_lookup.php?c=$1 [L,B]
# redirect clean url (/category/subcategory) for processing
RewriteRule ^([^/]+)/([^/]+)$ ./subcat_lookup.php?c=$1&s=$2 [L,B]
RewriteRule ^([^/]+)/([^/]+)/$ ./subcat_lookup.php?c=$1&s=$2 [L,B]
# redirect clean url (/category/subcategory/subsubcategory) for processing
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ ./subsubcat_lookup.php?c=$1&s=$2&ss=$3 [L,B]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$ ./subsubcat_lookup.php?c=$1&s=$2&ss=$3 [L,B]

我的问题是,爬虫/蜘蛛/机器人将使用链接php显示在我的网站:example.com'Shoes'Running'Men或他们会使用RewriteRule url: example.com'subsubcat_lookup.php?c=$1&s=$2&ss=$3作为一个将最终显示在搜索引擎?

既然这种重写发生在您的服务器内部(除非您使用显式重定向)-你的任何蜘蛛甚至来知道这些内部url…?

蜘蛛跟随他们在网上找到的链接-如果只有example.com/Shoes/Running/Men链接在你的页面,他们会在哪里找到其他版本?

无论如何,为了确保列出"正确"的URL -添加link元素和rel=canonical,并给出您想要在那里使用的URL。http://en.wikipedia.org/wiki/Canonical_link_element

这取决于爬虫的实现。例如,我可以编写一个爬虫,它存储原始URL(不是使用重写.htaccess给出的URL),然后未清理的URL将存储在我的DB中,否则将存储干净的URL。据我所知,像google等爬虫会存储干净的(重写的)URL。您可以尝试使用apache nutch来查看大多数爬虫的默认行为。