Jump to content
php.lv forumi

rewrite problēma


hackerman

Recommended Posts

Lapa ir sadalīta pa daļām: logo.php, panelis.php utt. Iekš .htaccess ir šitāda figņa sarakstīta:

 

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ?do=$1 [QSA,L]

 

Un, teiksim, ja man ir tāds kods:

 

if($do == "do"){ include("doo.php"); }  //iekš doo.php nav nekas vairāk kā pliks teksts, nu vienkārši testam.

 

tad viss parādās, kā vajadzētu parādīties. Bet, piemēram, man ir tas panelis.php (p.s. panelis.php tiek inklūdots iekš index.php). Un tur ir links uz reģistrēšanos un to norādīju kā "register".

Cik es saprotu, viņam tas "register" būtu jāpadod serverim kā ?do=register , bet viņš laikam nepadod. Ja es to linku norādu kā ?do=register, tad rāda kā vajag. Iekš index.php ir pārbaude:

 

if($do == "register')
{
include("register.php");
}

 

 

Nu cik es tur skatijos, es secināju, ka index failā tā figņa darbojas, bet tālāk, kas ir inklūdots, tur nedarbojas. Viņš laikam ignorē to .htaccess failu (kautgan visi faili, ieskaitot pašu htaccess atrodas vienā direktorijā). kapēc es tā domāju? Tapēc, ka vienkārši, ja es esmu palaidis to rewrite moduli, tad viņš kautkā automātiski pieņem nepilnas adreses, piem.:

 

lapa.lv/users // ja man tajā direktorijā būs kāds fails ar nosaukumu users, tad viņš atvērt to.

 

Tāpat arī sanāca man. Viņš to register.php neieinklūdoja, bet padeva kā jaunu lapu, kautgan vajadzēja inklūdot iekš index.php .

 

 

 

Edit: Stulbi, bet pats tomēr atradu risinājumu - GET parametrs nedrīkst būt vienāds ar faila nosaukumu.

 

Edit2: Tomēr atklāju vēlvienu "bugu" - ir lapa.lv, es ievadu lapa.lv/aaa/beeee/, tad pazūd visi stailšīti. wtf?

Edited by hackerman
Link to comment
Share on other sites

Godīgi sakot, pārāk neiedziļinājos problēma, bet tev gadijumā nav eneiblots tas apache modulis (mod_speling), kas cenšas labot apmeklētāju pieļautās kļūdas adresē ? Tipa, ja tu prasi example.com/lapa un tāda direktorija nav, tad viņš meklē, piem., lapa.php vai lapa.html.

Link to comment
Share on other sites

Nope, tāds mode_spelling pie loaded modules neuzrādās.

 

P.S. Visulaiku tā nebija. Tās lietotāju pieļautās kļūdas sāka labot tikai pēc rerite moduļa palaišanas.

Edited by hackerman
Link to comment
Share on other sites

×
×
  • Create New...