Valcha Posted January 19, 2009 Report 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.
bubu Posted January 19, 2009 Report Posted January 19, 2009 Nav vienkāršāk pārneimot direktoriju b par a?
Valcha Posted January 19, 2009 Author Report 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
blackhalt Posted January 19, 2009 Report Posted January 19, 2009 Redirect 301 Kaut kā tā: Redirect 301 /a http://blblababab.lv/b
Valcha Posted January 20, 2009 Author Report 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
Recommended Posts