|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jul 2005
Messaggi: 93
|
[HTACCESS] Redirect via HTACCESS dei soli files
Salve,
ho un problema che mi assilla da tempo e per il quale non riesco a trovare alcuna soluzione. Ho un sito ( http://unina.stidue.net ) che viene gestito con un semplice directory listing di apache "abbellito" con le apposite direttive tramite file di testata e pie di pagina e css esterni. Per ora tutte le cartelle e i files si comportano come un banale directory listing (a parte quelle nascoste dall'index ignore) mentre io vorrei che i files, e solo loro (NON le directory) venissero serviti da uno script PHP che facesse un controllo via CAPTCHA prima di mandare lo stream del file. Ciò premesso, mi servirebbe una condizione nell'HTACCESS che possa effettuare trasformazioni del tipo: Codice:
http://unina.stidue.net/ - http://unina.stidue.net/ (Resta Uguale) http://www.unina.stidue.net/folder1/ - http://www.unina.stidue.net/folder1/ (Resta Uguale) http://unina.stidue.net/fold1/fold2/ - http://unina.stidue.net/fold1/fold2/ (Resta Uguale) http://unina.stidue.net/folder1/file1.ext - http://unina.stidue.net/include/fmanager.php?file=/folder1/file1.ext http://www.unina.stidue.net/fold1/fold2/file2.ess - http://www.unina.stidue.net/include/fmanager.php?file=/fold1/fold2/file2.ess Codice:
RewriteEngine On Options Indexes FollowSymLinks IndexOptions Charset=UTF-8 IndexOptions +FancyIndexing IndexOptions +VersionSort IndexOptions +HTMLTable IndexOptions +FoldersFirst IndexOptions +IconsAreLinks IndexOptions +IgnoreCase IndexOptions +SuppressDescription IndexOptions +SuppressHTMLPreamble IndexOptions +XHTML IndexOptions +IconWidth=16 IndexOptions +IconHeight=16 IndexOptions +NameWidth=55 IndexOrderDefault Ascending Name HeaderName /include/header.html ReadmeName /include/footer.html IndexIgnore /include IndexIgnore */.htaccess IndexIgnore /COPYING IndexIgnore /README.md IndexIgnore /vhost.conf IndexIgnore /favicon.gif IndexIgnore /favicon.ico IndexIgnore /img IndexIgnore /contribuisci IndexIgnore /google898fc143c2921769.html IndexIgnore /robots.txt IndexIgnore /sitemap.xml IndexIgnore /sitemap.xsl IndexIgnore /y_key_70f072abda42ab66.html IndexIgnore /e72 IndexIgnore /c7 IndexIgnore /wf IndexIgnore SSS* AddIcon /include/icons2/type_application.png .exe .app .EXE .APP AddIcon /include/icons2/type_binary.png .bin .hqx .uu .BIN .HQX .UU AddIcon /include/icons2/type_box.png .tar .tgz .tbz .tbz2 bundle .rar .TAR .TGZ .TBZ .TBZ2 AddIcon /include/icons2/type_rar.png .rar .RAR AddIcon /include/icons2/type_html.png .htm .html .HTM .HTML AddIcon /include/icons2/type_code.png .htx .htmls .dhtml .phtml .shtml .inc .ssi .c .cc .css .h .rb .js .rb .pl .py .sh .shar .csh .ksh .tcl .as AddIcon /include/icons2/type_database.png .db .sqlite AddIcon /include/icons2/type_disc.png .iso .image AddIcon /include/icons2/type_document.png .ttf AddIcon /include/icons2/type_excel.png .xlsx .xls .xlm .xlt .xla .xlb .xld .xlk .xll .xlv .xlw AddIcon /include/icons2/type_flash.png .flv AddIcon /include/icons2/type_illustrator.png .ai .eps .epsf .epsi AddIcon /include/icons2/type_pdf.png .pdf .PDF AddIcon /include/icons2/type_php.png .php .phps .php5 .php3 .php4 .phtm AddIcon /include/icons2/type_photoshop.png .psd AddIcon /include/icons2/type_monitor.png .ps AddIcon /include/icons2/type_powerpoint.png .ppt .pptx .ppz .pot .pwz .ppa .pps .pow AddIcon /include/icons2/type_swf.png .swf AddIcon /include/icons2/type_text.png .tex .dvi AddIcon /include/icons2/type_vcf.png .vcf .vcard AddIcon /include/icons2/type_word.png .doc .docx AddIcon /include/icons2/type_zip.png .Z .z .tgz .gz .zip AddIcon /include/icons2/type_globe.png .wrl .wrl.gz .vrm .vrml .iv AddIcon /include/icons2/type_android.gif .apk .APK AddIconByType (TXT,/include/icons2/type_text.png) text/* AddIconByType (IMG,/include/icons2/type_image.png) image/* AddIconByType (SND,/include/icons2/type_audio.png) audio/* AddIconByType (VID,/include/icons2/type_video.png) video/* AddIconByEncoding (CMP,/include/icons2/type_box.png) x-compress x-gzip AddIcon /include/icons2/back.png .. AddIcon /include/icons2/information.png README INSTALL AddIcon /include/icons2/type_folder.png ^^DIRECTORY^^ AddIcon /include/icons2/blank.png ^^BLANKICON^^ DefaultIcon /include/icons2/type_document.png order allow,deny allow from all ErrorDocument 400 /include/400.html ErrorDocument 401 /include/400.html ErrorDocument 403 /include/403.html ErrorDocument 404 /include/400.html RewriteRule ^(.+)/(.+).(.+)$ include/fmanager.php [L] In particolare non riesco ad effettuare la distinzione tra directory e file e non riesco a rendere la directory /include/ e i file di utilità (tutti quelli della root che risultano nascosti, per esempio) "immuni" al trattamento htaccess. Qualcuno può darmi una mano? Grazie mille.
__________________
..::Specialisti nel Risparmio Energetico - https://www.facebook.com/GruppoSimm - Approfittate degli INCENTIVI ::..
|
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Aug 2005
Messaggi: 168
|
Devi usare le RewriteCondition seguite dalle RewriteRule. Nel tuo caso la condizione è qualcosa tipo:
Codice HTML:
RewriteCond %{REQUEST_FILENAME} -f Codice HTML:
RewriteRule ^(include)/*$ - [L] Quindi direi Codice HTML:
RewriteRule ^(include)/*$ - [L] RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^(.+)/(.+).(.+)$ include/fmanager.php ?q=$1/$2.$3 [L,QSA] |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Jul 2005
Messaggi: 93
|
Grazie mille, ho risolto grazie ad un altro utente, affinando il tuo codice.
A chi dovesse servire una cosa simile, la soluzione usata è la seguente: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_URI} !^/index\. RewriteCond %{REQUEST_URI} !^/include/ RewriteRule (.*) /include/fmanager.php?file=$1 [R=301,L] dove ho escluso tutti i possibili index.ext e la cartella di utilità "include" GRAZIE!
__________________
..::Specialisti nel Risparmio Energetico - https://www.facebook.com/GruppoSimm - Approfittate degli INCENTIVI ::..
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:31.