gpt4 book ai didi

php - 在 AngularJS 页面的 .htaccess 中重定向机器人和爬虫

转载 作者:搜寻专家 更新时间:2023-10-31 22:01:49 26 4
gpt4 key购买 nike

我正在将 AngularJS 用于 Web 应用程序,并创建了一个 PHP 脚本,它使用 Angular 路由创建的 URL 参数动态生成元丰富页面,专门用于社交共享目的(不是 SEO 索引)。我需要将搜索和社交抓取机器人重定向到 SEO 友好生成的页面。

我目前正在尝试重定向 http://www.example.com/v4/songs/prince/purple-rainhttp://www.example.com/static/static.php/songs/prince/purple-rain仅适用于抓取程序/机器人

我正在使用以下 .htaccess 代码

<ifModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (facebookexternalhit/1.0|facebookexternalhit/1.1|Facebot|Twitterbot|Pinterest|Google.*snippet) [NC]
RewriteRule ^(.*)$ http://www.example.com/static/static.php/$1 [R=301,NC]

</ifModule>

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]

RewriteRule ^(.*) index.html [NC,L]

我目前从所有提示“无效 URL”或“无数据”的 lints 中获取抓取错误。它作为一个普通的 301 重定向工作得很好,但显然我不想要那样。我的 .htaccess 文件有什么问题?

最佳答案

您是否尝试过使用第二个条件,例如

RewriteCond %{QUERY_STRING} ^_escaped_fragment_=/?(.*)$

?

尽管您( Angular 路由和位置提供者)更改了 url,但在执行 Angular 路由之前(爬虫不会发生这种情况)他们有#!,使爬虫将路径的其余部分仅视为参数。使用 _escaped_fragment_,您可以以某种方式区分爬虫,然后将它们重定向到已评估社会变量的快照。参见 yearofmoo angular and seo

关于php - 在 AngularJS 页面的 .htaccess 中重定向机器人和爬虫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27681206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com