0

私は3時間検索してテストしてきましたが、運がありません。うまくいけば、あなたは私を助けることができます.

これが私のコードです:

AddHandler php-legacy .php

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://www\.google\.com [NC]
RewriteRule http://www.domain1.com [R=301,L]
</IfModule>

<IfModule mod_rewrite.c>
Options +FollowSymLinks 
RewriteEngine on
RewriteRule ^$ http://www.domain2.com/ [R=301,L]
RewriteCond %{HTTP_HOST} .*
RewriteRule ^(.+)$ http://$1.domain2.com/ [R=301,L]
</IfModule>

2 番目の mod_rewrite は機能し、何ヶ月も機能していますが、最初に確認して、誰かが Google からアクセスしているかどうかを確認したいと思います。もしそうなら、私はそれらを別のドメインにプッシュしたいと思います。しかし、(1番目の)リファラー部分はそうではありません。2 番目の部分を実行する「前に」リファラーをチェックして、それに基づいて行動するにはどうすればよいですか?

2 番目の質問です。もうできないと思いますが、誰かが Google Adwords のリンクから来ているのか、オーガニック検索のリンクから来ているのかを知る方法はありますか? Googleはこれを不可能にしたと思います。

4

1 に答える 1

1

にエラーがありますRewriteRule。正規表現の一致が欠落しているようです。

RewriteRule http://www.domain1.com [R=301,L]

Apacheに考えさせるつもりです:

  • URI がhttp://www.domain1.com
  • に書き換えます[R=301,L]

おそらくこれが必要です:

RewriteRule ^(.*)$ http://www.domain1.com/$1 [R=301,L]
于 2012-08-10T01:28:53.280 に答える