Valcha Posted January 19, 2009 Report Share Posted January 19, 2009 Vēlos, lai, lasot direktoriju a, patiesībā lasītos direktorija b. Tai skaitā visas tās apakšdirektorijas. Bet vēlos arī, lai b pa tiešo nevarētu lasīt - 404 kļūda. Daru tā: RewriteCond %{REQUEST_URI} b/ RewriteRule ^(.*)$ / [R=404,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(a)/(.*)$ b/$2 [L] Un sanāk tāda lieta, ka tikko kā pielieku, lai nelasās b, tā arī a vairs nelasās. Vai kādam ir versijas, ko daru nepareizi un kā atrisināt šo lietu? Būšu priecīgs ieraudzīt, kur kļūdos. Link to comment Share on other sites More sharing options...
bubu Posted January 19, 2009 Report Share Posted January 19, 2009 Nav vienkāršāk pārneimot direktoriju b par a? Link to comment Share on other sites More sharing options...
Valcha Posted January 19, 2009 Author Report Share Posted January 19, 2009 (edited) Man tas neder - patiesībā man tur ir bik sarežģītāk - RewriteRule ^(a|c)/(.*)$ b/$2 [L] Un tad es pēc tam smuki zinu, vai nāk no a vai no c un attiecīgi dinamiski reaģēju. Fiziski direktorija ir viena, bet lasu to divejādi.. bubu - ja reiz neiesaki versiju, tātad laikam jau tas nav tik vienkārši :) Bet ja kāds man vismaz paskaidrotu, kādēļ man nesanāk?? Jo it kā pie pirmā nosacījuma, ja piepildās, izpildās tālāk nelaist un apstājas [L]. Bet, ja trāpa otrā nosacījumā - atkal - izpildās un apstājās [L]. Tad kāpēc pēc rezultāta man izskatās, ka vispirms izpildās 2. - RewriteRule ^(a)/(.*)$ b/$2 [L] un pēc tam 1. - RewriteRule ^(.*)$ / [R=404,L] ? Edited January 19, 2009 by Valcha Link to comment Share on other sites More sharing options...
blackhalt Posted January 19, 2009 Report Share Posted January 19, 2009 Redirect 301 Kaut kā tā: Redirect 301 /a http://blblababab.lv/b Link to comment Share on other sites More sharing options...
Valcha Posted January 20, 2009 Author Report Share Posted January 20, 2009 (edited) Paldies, blackhalt, bet tas pāradresē pa īstam, bet man vajag, lai vizuāli paliek a direktorijā, bet patiesībā lasītu b. Labi, izskatās, ka iešu parakstīties ārvalstu forumos. Atradu! Es varu noteikt, vai pieprasījumam ir redirect statuss! Ja tāds nav, tad neļauju lasīt pa tiešo: # ja redirekt statuss ir tukšs RewriteCond %{ENV:REDIRECT_STATUS} ^$ # ja uri satur neatļauto pa tieši b/ direktoriju RewriteCond %{REQUEST_URI} ^b/ # dodam 404 kļūdu! RewriteRule ^(.*)$ / [R=404,L] Paldies! Edited January 20, 2009 by Valcha Link to comment Share on other sites More sharing options...
Recommended Posts