.htaccess:用params将rewriteCond改为同一URL内的另一个页面
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.htaccess:用params将rewriteCond改为同一URL内的另一个页面相关的知识,希望对你有一定的参考价值。
我的.htaccess对于爬虫和搜索引擎来说是一个条件,它将它们带到一个“静态”页面,在那里他们可以抓取所有内容。
到目前为止,我已经拥有了我的域{client} .realdomain.com,其中{client}是一个客户端的子域。
然后,当客户端在社交网络上共享某些内容时,例如facebook / linkedin他们的抓取工具被带到我的.htaccess有以下条件(这有效)
URL示例:http://{client}.realdomain.com/s/token
RewriteCond %{HTTP_USER_AGENT} (LinkedInBot/[0-9]|facebookexternalhit/[0-9]|Facebot|Twitterbot|twitterbot|Pinterest|pinterest|Google.*snippet|baiduspider|rogerbot|embedly|quora\ link\ preview|showyoubot|outbrain|slackbot|vkShare|W3C_Validator)
RewriteCond %{HTTP_HOST} ^(.+?)\.realdomain\.com$
RewriteRule ^s/(.*)$ http://%1.realdomain.com/static.php?token=$1 [NC,L]
将最终成为http://{client}.realdomain.com/static.php?token=token
如上所述,这里的任何事情都是完美的,但现在我正在进入不同的领域,所以它可以
{client}.real-domain.com
和{client}.sunset.com
我在.htaccess中基本上是一样的东西,但是当它重定向时它应该采用整个域,所以它将转到例如http://{client}.sunset.com?static.php=token=my-secret-token
如果爬行者来到{client}.sunset.com/s/my-secret-token
我怎么会这样做?我似乎是一个简单的解决方案,但出于某种原因,我似乎无法理解它。
谢谢
RewriteCond %{HTTP_USER_AGENT} (LinkedInBot/[0-9]|facebookexternalhit/[0-9]|Facebot|Twitterbot|twitterbot|Pinterest|pinterest|Google.*snippet|baiduspider|rogerbot|embedly|quora\ link\ preview|showyoubot|outbrain|slackbot|vkShare|W3C_Validator)
RewriteCond %{HTTP_HOST} ^(.+?)\.%{HTTP_HOST}%\.com$
RewriteRule ^s/(.*)$ http://%1.%{HTTP_HOST}%.com/static.php?token=$1 [NC,L]
你能测出来吗?用%{HTTP_HOST}%
替换你的域名
以上是关于.htaccess:用params将rewriteCond改为同一URL内的另一个页面的主要内容,如果未能解决你的问题,请参考以下文章
apache配置rewrite及.htaccess文件(转载)
htaccess - mod_rewrite 将虚拟目录或文件作为参数传回 index.php?