удалить строку запроса ключ = значение на уровне веб-сервера (apache / nginx) - PullRequest
1 голос
/ 14 сентября 2010

Я хотел бы удалить

fb_xd_fragment

из строки запроса и передайте остальную часть запроса на уровень приложения. Это сделано для повышения частоты обращений к кешу, поэтому внесение этих изменений на уровне приложений бесполезно и невозможно (поверьте мне). Пример того, как изменить строку запроса, используя apache или nginx, был бы хорош.

Пример входных значений

example.com/abcd?page=2&fb_xd_fragment
example.com/abcd?fb_xd_fragment
example.com/abcd?fb_xd_fragment&page=4
example.com/abcd?fb_xd_fragment=xyz&page=6
example.com/abcd?page=8&fb_xd_fragement=xyz

Ответы [ 2 ]

1 голос
/ 17 ноября 2010

Этот параметр на самом деле является симптомом Facebook Connect или кнопки Like, делающей плохие вещи.Вы можете полностью избежать этого, правильно настроив JavaScript.

http://threebrothers.org/brendan/blog/facebook-connect-ie-fb_xd_fragment-iframe/

1 голос
/ 14 сентября 2010

При использовании mod_rewrite RewriteRule нельзя использовать для сопоставления строки запроса, но вы можете применить RewriteCond для определения целевой строки запроса. Важно отметить, что вы можете ссылаться на обратные ссылки в RewriteCond в правиле перезаписи, поэтому попробуйте что-то вроде этого:

#     we can refer to this----+-----------------and this--+
#     match as %1 in the      |              match as %2  |
#     RewriteRule             |                           |
                              v                           v
RewriteCond %{QUERY_STRING} ^(.*)fb_xd_fragment=?[a-z]*&?(.*)$
RewriteRule /abcd /abcd?%1%2

% x в RewriteRule является обратной ссылкой на последний соответствующий RewriteCond . Возможно, вам придется поиграть с этим, чтобы получить именно тот эффект, который вы хотите, но вы должны увидеть основной принцип. Удачи:)

...