1

着信リンクのGoogleAnalyticsクエリ文字列は、私のサイトの表示を壊します。

次の理由で私のサイトがホームページを正しくロードできない理由を誰かが知っていますか(ページに必要ないくつかのプラグインのロードを妨げているようです)

http://mysite.com/?utm_medium=email

これはしませんが:

http://mysite.com/#utm_medium=email

そして、その理由を知っているなら、どうすればこれを修正できますか?クエリ文字列メソッドを使用する受信リンクがあり、それらはすべて、訪問者に壊れたホームページが表示される結果になっています。

サイトは「きれいなURL」を使用しているため、サイトのルーティングにクエリ文字列は必要ありません。Apacheの書き換えを介してクエリ文字列を削除しようとしましたが(これは簡単で機能します。以下に例を示します)、これを行うと、GoogleAnalyticsは必要なものを追跡できないと思います。

これが私.htaccessの場合です。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# Handle redirection from https to http
RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R=301]

# Example of what would strip query strings from url
#RewriteCond %{THE_REQUEST} \?[^\ ]+
#RewriteRule (.*) /$1? [R=301,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

追加

@faaのソリューションに加えて、@ Eduardoのビットをこれに組み込むことで、adminディレクトリを影響から除外する必要もありました。私はこれを追加して行いました:

RewriteCond %{REQUEST_URI} !^\/*(wp-admin)
4

2 に答える 2

2

"これはそうではありませんが: http://mysite.com/#utm_medium=email "

#クエリの疑問符の代わりに使用が機能し、有効なオプションである場合は、次のようなことを試すことができます。

# Example of what would strip query strings from url
RewriteCond %{QUERY_STRING} .
RewriteRule ^(.*) /$1#%{QUERY_STRING}? [R=301,L,NE,NC]

リダイレクト

http://mysite.com/?query

http://mysite.com/#query

于 2013-03-18T23:48:03.580 に答える
1

スクリプトは通常、予期していないクエリパラメータを無視する必要があります。これは、スクリプトの1つが無視しているという経験則です。問題のあるスクリプトを追跡し、自分で修正する必要があります。または、トラブルシューティングを容易にする詳細情報をここに入力してください。複製できるページのURLは開始点であり、少なくともクライアント側またはサーバー側の問題に対して分離できるURLがあります。

回避策として、代わりにアンカーを使用できます。

http://mysite.com/#utm_medium=email

URLのアンカー部分内のパラメータを理解するようにGoogleAnalyticsを設定していることを確認してください。

電話をかける前に、以下を追加してください_trackPageview

_gaq.push(['_setAllowAnchor', true]);

参照:https ://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiCampaignTracking#_gat.GA_Tracker_._setAllowAnchor

于 2013-03-18T23:10:37.957 に答える