Никога не се отказвайте: ВСИЧКИ ШЕФОВЕ Анимирани Cutscenes

Възможно ли е да проверите конкретна заявка за домейн с HTACCESS и да добавите някакъв низ за заявка?

Всъщност цялата ми задача иска да предаде някои стойности на бисквитките като параметри на URL, ако се иска конкретен домейн.

Пример:

  • АКО е поискано OtherDomain1.example
    • АКО бисквитката е наречена TestCookie1 е зададена (бисквитка на браузъра, създадена с помощта на Javascript)
      • добавете TestCookie1 стойност за заявка на URL OtherDomain1.example като параметри (OtherDomain1.example?q=TestCookie1-value)

така че всяка молба да OtherDomain1.example от моя сървър Apache се пренаписва чрез добавяне на някои параметри на URL след прочитане на бисквитката на браузъра.

Ако бисквитката не е зададена или стойността на бисквитката е празна, тогава нищо няма да се случи, заявеният домейн ще работи както обикновено, без промяна .... ако има някакви ограничения, които да зададете друго, аз съм добре с предаването на празни низове на заявка ...

И ако домейнът иска с URL-път, това също трябва да се прехвърли ...

  • 1 Какво трябва да се случи, ако бисквитката не съществува (или няма стойност)? Да не правиш нищо? Или все пак пренасочване, но с празна стойност? Какво ще кажете за URL-пътя? Само коренът на документа или някакъв URL-път? Трябва ли да се прехвърли и URL-пътят?
  • Какво е TestOtherDomain1 се иска без никакви параметри?
  • @MrWhite URL-пътът също трябва да се прехвърли, както обикновено, но ако бисквитката съществува, просто я донесете и това ... И ако бисквитката е празна или не съществува или няма стойност, нищо няма да се случи, заявката ще работи както обикновено, и ако има някакво ограничение, аз съм добре с предаването на празни параметри, ако няма бисквитки ...
  • @StephenOstermiller съжалявам, имам някаква грешка в примерния домейн, въпросът току-що е актуализиран. OtherDomain1.example е външният домейн на сайта и за моя случай моите URL адреси към OtherDomain1.example в момента не предават никакви параметри, всички хипервръзки просто преминават с URL-пътеки ... Но мисля, че би било добре, ако има опция за проверка и направете необходимото добавяне ...
  • И така, (от актуализирания ви въпрос) тук има само 1 домейн - вие пренасочвате обратно към себе си ?! "OtherDomain" е наистина просто този домейн? Въпреки че вашият коментар по-горе предполага 2 домейна? ... "OtherDomain1.example е домейн на външен сайт"? Дали" OtherDomain1.com "е под ваш контрол?

MyDomain1.example е текущият ми домейн и OtherDomain1.example е един от външен домейн, така че нашият сървър, към който принадлежи MyDomain1.example проверете дали има някакво искане за OtherDomain1.example и останете ...

Все още мисля, че пропускам нещо тук? Звучи така, сякаш искате да прихванете и промените идващата заявка от вашия сайт MyDomain1.example (или по-скоро браузърът на клиента, когато разглежда вашия сайт - предполагам) преди достига OtherDomain1.example, който вероятно е домейн извън вашия контрол?

Това не е нещо, в което можете да правите .htaccess. Използвайки .htaccess, можете да прихванете заявката само в местоназначението, т.е. OtherDomain1.example - но бисквитката вероятно не е настроена OtherDomain1.example?

Това звучи като задача за JavaScript - да модифицирате изходящите котви в HTML източника преди (или „като“) потребителят да кликне върху тях?

Или сценарият е различен от този?


Обратно проследяване ...

Как първоначално беше написан въпросът ви изглеждаше по-смислен. По линия на ...

  1. Потребителят изпраща заявка до MyDomain1.example, за които бисквитка (напр. TestCookie1) е предварително зададена. Следователно браузърът на потребителя изпраща бисквитката като част от заявката.
  2. Искате да пренасочите заявката на потребителя към OtherDomain1.example. Трябва също да препратите стойността на бисквитката, изпратена при заявката, на MyDomain1.example като параметър на URL (тъй като потребителят няма зададена бисквитка за OtherDomain1.example).

Това може да се направи с нещо като:

RewriteEngine on RewriteCond %{HTTP_HOST} ^mydomain1\.example RewriteCond %{HTTP_COOKIE} (?:\bTestCookie1=([^;]*))? RewriteRule (.*) https://otherdomain1.example/$1?q=%1 [QSA,R,L] 

Условието, което проверява срещу HTTP_HOST сървърна променлива не се изисква, ако това е единственият домейн, хостван на този сървър.

Условието, което проверява срещу HTTP_COOKIE сървърна променлива (HTTP Cookie заглавката, изпратена от браузъра) или съвпада TestCookie1= навсякъде в заглавката на бисквитката или изобщо „нищо“ - или се взема предвид успешен. Стойността на бисквитката се улавя и тя се предава на заместване низ в %1 обратна връзка. оригиналният URL-път на заявката се предава към целевия URL в $1 обратна връзка. The QSA flag позволява да се предават и всички допълнителни параметри на низа на заявката при първоначалната заявка.

Това обаче пренасочва всеки заявка изпратена на MyDomain1.com да се OtherDomain1.com.

(Въпреки че това може да е отговор на въпрос, който дори не сте задали ?!)

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?