Man ir vietne, kas tiek iestatīta ar akamai. Mans domēns un apakšdomēni ir kartēti uz Akamai IP.

Esmu uzrakstījis Apache pārrakstīšanu, kas iekšējo URL X izdara ar citu iekšējo URL Y. Šis pārrakstīšana darbojas labi, kamēr es testēju savu vietējo iestatījumu vai tos apakšdomēnus, kuri nav kartēti uz Akamai, bet tieši uz manu publisko IP.

Man ir aizdomas, ka, pārrakstot pieprasījumu, apache nespēj pareizi atrisināt lietotnes servera IP.

Kad es pievienoju ierakstus savam failam / etc / hosts, norādot domēnu / apakšdomēnu uz manu iekšējo IP, pārrakstīšana darbojas.

Tagad man ir milzīgs apakšdomēnu saraksts, un tas var arī pieaugt. Vai ir kāds cits veids, kā novērst šo problēmu, neveicot ierakstus failā / etc / hosts?

Es ļoti novērtētu jūsu domas.

  • Kādu pārrakstīšanu jūs precīzi darāt, vai varat parādīt piemēru?
  • Šis jautājums jāuzdod servera vainas dēļ
  • Šeit ir pārrakstīšanas kārtula, kas man ir..RewriteRule ^ / (context) / (sub-context) (-) ([- a-z0-9A-Z] *) / (. *) $ / $ 1 / $ 2 / $ 5 [P, L]

Jā - izmantojiet citu DNS serveri vai pārrakstiet URL, lai izmantotu pareizi darbojošos resursdatora nosaukumu.

Tomēr neto efekts ir tāds pats kā ieraksta maiņa jūsu hosts failā. Bet, ja jūs nesūtāt atpakaļ novirzīšanu no pārrakstīšanas, jūs saņemsiet nedaudz labāku veiktspēju, izmantojot loopback adapteri, nevis (īstas NIC adresi). Tāpēc vienkārši ievietojiet to resursdatora failā kā 127.0.0.1, bet vēl svarīgāk šai adresei nekad nevajadzētu mainīties.

Es tiešām esmu pārsteigts, dzirdot, ka pārrakstīšanas noteikums, ko jūs sakāt, jums ir:

RewriteRule ^/(context)/(sub-context)(-)([-a-z0-9A-Z]*)/(.*)$ /$1/$2/$5 [P,L] 

darbojas pavisam, jo saskaņā ar dokumentāciju tam nevajadzētu:

'^/somepath(.*) /otherpath$1 [P] nav jēgas, netiek atbalstīts "

Ja jūs gribu izmantot [P] karodziņš, jūsu pārrakstīšanas mērķim jābūt pilnam URL. Tomēr man ir ļoti aizdomas, ka [P] karogs faktiski ir ko vēlaties, un tā noņemšana varētu novērst problēmu.

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