wordpress - 查询字符串断页

标签 wordpress .htaccess google-analytics query-string

传入链接上的 Google Analytics(分析)查询字符串会破坏我网站的显示。

有谁知道为什么以下内容会导致我的网站无法正确加载其主页(它似乎阻止加载页面所需的某些插件)

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

虽然这不会:

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

如果您知道原因,我该如何解决这个问题?我有使用查询字符串方法的传入链接,它们都会导致访问者看到损坏的主页。

该站点使用“漂亮的网址”,因此站点路由不需要查询字符串。我尝试简单地通过 apache rewrite 删除查询字符串(这很容易做到并且有效,我在下面给出了一个示例),但我认为如果我这样做,Google Analytics 将无法跟踪它需要的内容。

这是我的.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 的部分纳入其中之外,我还需要排除管理目录受到影响。我通过添加以下内容来做到这一点:

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

最佳答案

虽然这不是: 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

关于wordpress - 查询字符串断页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15488401/

相关文章:

php - 如何重定向带有百分比 (%) 符号的 URL?

google-analytics - PPC 事件访问者的路径摘要

google-analytics - 谷歌分析 : Track two domains as one

php - MATCH AGAINST SQL 注入(inject)预防和 wpdb->prepare

php - 如何在 Woocommerce 购物车页面中添加订单备注字段?

.htaccess http ://www. 和 http ://: what is the influence for SEO?

c# - 将 Google Analytics 与 xamarin android 应用程序集成

HTML 元素在 WordPress 中是不可见的

php - 从另一个站点自动登录到 wordpress 仪表板

php - 如何修改 .htaccess 文件以提供 QUERY_STRING?