【问题标题】:.htaccess redirect unless from certain domain need help allowing search engines and not redirecting as with other visitors.htaccess 重定向,除非来自某些域需要帮助允许搜索引擎,而不是像其他访问者一样重定向
【发布时间】:2013-10-12 03:16:35
【问题描述】:

我在这里为 .htaccess 大师准备了一个棘手的问题!

我有一个站点,即 mysite.co.uk,但我不希望人们能够直接访问 mysite.co.uk 的主页,而是将他们重定向到 enter.mysite.co.uk mysite 的子域。英国。

目前我有这个:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} !^http://mysite.co.uk [NC]
RewriteCond %{HTTP_REFERER} !^http://enter.mysite.co.uk [NC]
RewriteRule ^ http://enter.mysite.co.uk [L,R]
RewriteRule ^(.*)$ proxy.php?url=$1 [L,QSA]  

这是我想要的,但问题是重定向正在拒绝谷歌机器人和所有其他搜索引擎,所以我的问题是我可以添加任何代码来允许一些更大的搜索引擎机器人/蜘蛛无需来自引用网址即可进入,即 enter.mysite.co.uk

非常感谢我把我的头发拉出来,现在几乎秃了:)

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite referer


    【解决方案1】:

    为这样的搜索机器人添加否定条件:

    RewriteCond %{HTTP_USER_AGENT} !(googlebot|adsbot-google|bingbot|msnbot|psbot|gigabot|twitterbot|linkedinbot|yahoo-mmcrawler|pingdom\.com_bot) [NC]
    RewriteCond %{HTTP_REFERER} !^http://mysite.co.uk [NC]
    RewriteCond %{HTTP_REFERER} !^http://enter.mysite.co.uk [NC]
    RewriteRule ^ http://enter.mysite.co.uk [L,R]
    
    RewriteRule ^(.*)$ proxy.php?url=$1 [L,QSA]
    

    这样您的第一条规则将不适用于列出的搜索机器人。

    【讨论】:

    • 非常感谢我的朋友非常感谢你花时间为我回答这个问题 :) 我已将它应用到我的 .htaccess 中,到目前为止,该网站运行良好,与搜索引擎有关现在将能够看到我的网站。干杯
    • 不客气。如果此回答帮助您解决了问题,请考虑将其标记为“已接受”,以便日后遇到类似问题的用户能够轻松查看。
    • 有机会在这里帮助我解决另一个 htaccess 问题stackoverflow.com/questions/19532069/…
    • 我已经回答了你的另一个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多