Apsardzes darbinieku apmācība labākajiem apsardzes darbiniekiem Lasvegasā

Kā es varu novērst novirzīšanu pārlūkprogrammā Firefox tā, lai tas novirzītu manu vietni uz citu adresi, bet ar slīpsvītru tās beigās?

Šis ir mans novirzīšana iekš .htaccess:

RewriteCond %{HTTP_HOST} ^test\.mydomain\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.test\.mydomain\.com$ RewriteRule ^testword$ 'http\:\/\/outsidedomain\.com\/test\.mydomain\.com\/testword\/' [R=301,L] 

Pārlūkā Chrome tas darbojas lieliski.

Pieņemsim, ka tas jādara:

test.mydomain.com/testword vajadzētu novest pie outsidedomain.com/test.mydomain.com/testword/. Tā vietā Firefox tas noved pie outsidedomain.com/test.mydomain.com/testword. Ievērojiet, ka nav slīpsvītras uz priekšu.

Tās beigās jābūt slīpsvītram, jo ​​citādi skripts no outsidedomain.com nedarbojas pareizi.

ATJAUNINĀT: Es izmantoju http://nyanit.com lai parādītu lapu manā emuārā, kad lietotājs raksta mydomain.com/testword tas noved pie http://nyanit.com/mydomain.com/testword/. Tas viss ir labi pārlūkā Chrome, kur skripts "nyanit" tiek ielādēts tikai vienu reizi, bet pārlūkprogrammā Firefox, parādot šo "testword" lapu, tiek sākta novirzīšana, tāpēc lapa netiek rādīta, bet tikai skripts tiek rādīts vairākas reizes.

Pārbaudiet to šeit. Izmēģiniet gan Chrome, gan Firefox, lai uzzinātu, ko es domāju.

Šī ir klasiska kļūda, jūsu kārtula atbilst tikai tiem ceļiem burtiski spēles /testword. Ja vēlaties novirzīt visu, kas sākas ar /testword, noņemiet $:

RewriteRule ^testword 'http\:\/\/outsidedomain\.com\/test\.mydomain\.com\/testword\/' [R=301,L] 

Ja vēlaties saskaņot /testword un /testword/ un nekas cits, padariet slīpsvītru neobligātu, pievienojot /?:

RewriteRule ^testword/?$ 'http\:\/\/outsidedomain\.com\/test\.mydomain\.com\/testword\/' [R=301,L] 

Tā izskatās nyanit.com atveras http://india.thefalljourney.com/cat/ pārlūkprogrammā. Varbūt jūs pārlūkojat kešatmiņā saglabātu lapu Chromium, tāpēc novirzīšana nav bezgalīga. Problēma ir:

  • http://india.thefalljourney.com/cat tiek novirzīts uz http://nyanit.com/india.thefalljourney.com/cat/
  • http://india.thefalljourney.com/cat/ tiek atvērts a <iframe> by nyanit.com
  • Ar pārrakstīšanas kārtulu http://india.thefalljourney.com/cat/ tiek pārrakstīts vēlreiz ... bezgalīga cilpa.

Ieteikums: šim nolūkam izmantojiet nevis Apache novirzīšanu, bet gan Javascript. Ja tiek konstatēts, ka lapa atrodas rāmī, nenovirziet. Uzlieciet zemāk esošo JS kodu http://india.thefalljourney.com/cat un noņemiet apache novirzīšanas kodu:

<script> if (parent == self) { location.replace('http://nyanit.com/india.thefalljourney.com/cat/'); } </script> 
  • Jā, jūsu risinājums ir pareizs, taču acīmredzami pastāv problēma ar Firefox. Kad es novirzīšu uz outsidedomain.com/test.mydomain.com/testword/, Chrome manas vietnes lapas augšpusē pareizi parāda ārējās vietnes skriptu, bet Firefox sāk neierobežotu ciklu un vairākas reizes (faktiski uz nenoteiktu laiku) ielādē ārējo skriptu. Vai ir veids, kā to novērst? Lūdzu, pārbaudiet jautājumu atjauninājumu.
  • @rlesko Skatīt atjaunināto atbildi.
  • Darbojas nevainojami. Vienīgā problēma tagad ir tā, ka pārlūkā Chrome nav skaņas, bet esmu pārliecināts, ka tam nav nekāda sakara ar novirzīšanu. Patiesībā tam nav nozīmes, paldies par jūsu palīdzību ...

strādāja par jums: Charles Robertson | Vēlies ar mums sazināties?