|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jul 2005
Messaggi: 93
|
[HTACCESS] Intercettare richieste in subfolders
Salve,
ho un sito con un filemanager in php http://nicotest.stidue.net/ e come si vede navigando nelle cartelle, ho un unico index.php nella root a cui vengono inoltrate le richieste di visualizzazione delle cartelle e dei files interni tramite stringhe del tipo: http://nicotest.stidue.net/index.php...ntool/scripts/ Vorrei sapere se è possibile fare in modo che gli URL seguano la struttura "naturale" del file system (ad es, riferendoci a prima, http://nicotest.stidue.net/migrationtool/scripts/ invece del codice su riportato) partendo da qualunque sottocartella del dominio nicotest.stidue.net, senza cambiare - o cambiando minimamente - l'index.php, che necessita in fondo solo del path "purgato". Il tutto dovrebbe essere possibile mettendo un unico htaccess nella root ma non ne vengo a capo. Grazie mille.
__________________
..::Specialisti nel Risparmio Energetico - https://www.facebook.com/GruppoSimm - Approfittate degli INCENTIVI ::..
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2001
Città: Boscoreale (NA)
Messaggi: 421
|
dovrai per forza cambiare anche l'index.php perchè ogni cartella è richiamata in questo modo index.php?dir=migrationtool%2F e dovrai modificarla anche se farai l'htaccess giusto.
Anzi è ancora peggio perchè per le modifiche che tu vuoi fare dovrai "obbligatoriamente" modificare "pesantemente" l'index. Per farti un esempio ogni link della pagina è inserita senza il nome dell'host...in pratica senza http://www. e per fare come vuoi tu dovrai inserirlo per ogni link. Ultima modifica di black_wizard : 23-05-2011 alle 13:03. |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jul 2005
Città: Perugia
Messaggi: 132
|
Se come webserver usi Apche puoi usare la "mod rewrite". Una volta assicuratoti che sia attiva, nel file .htaccess puoi inserire qualcosa tipo (preso pari pari dal file .htaccess di cakePHP, noto framework applicativo PHP che lavora proprio con "url pulite" come vorresti fare tu):
Codice:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
RewriteCond %{REQUEST_FILENAME} !-d e !-f fanno in modo che la regola non venga eseguita se l'url digitato si riferisce ad una directory o ad un file fisicamente esistenti. RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] è "la magia": la prima parte dice di "prendere tutta la url digitata" (a cui si fara' riferimento con $1) e nella seconda istruisce Apache a "riscrivere" la url (ovvero a "lavorarla" internamente) come index.php?url=$1. Quindi il nostro script index.php, messo nella stessa directory dell'.htaccess, riceverà fisicamente una chiamata "rimappata" in base alla regola. Chiamando ad esempio http://www.esempio.com/ciao/frat il file index.php verrà "chiamato" con la url '/ciao/frat'. A quel punto puoi analizzare la url "chiamata" (che trovi in $_SERVER["REQUEST_URI"]) per costruire la pagina da rendere al browser... edit: non avevo letto bene la domanda... con quanto sopra dovresti modificare il codice dell'index.php. Forse si può modificare la regola di riscrittura in maniera adeguata ma bisogna guardare la documentazione della mod rewrite di apache... rimane comunque poi il problema dei link generati dal file manager stesso che sono cmq "sporchi", quindi dovresti in ogni caso mettere mano al index.php per farglieli generare "puliti"...
__________________
Main: i7-3770K · Corsair H60 · MSI GTX 580 Twin Frozr II OC · Asus Maximus V Gene mATX · Corsair Vengeance 1600Mhz CL8 16GB · Samsung 840 EVO 500GB + Crucial C300 256Gb · Plextor PX-L890SA · Seasonic X850 · Corsair Obsidian 350D · Iiyama ProLite B24D9HDS Muletto: Q6600 G0/Scythe Ninja Plus · Radeon HD5850 · Asus P5E · HDs X-25M G2 160Gb, Seagate 7200.11 500Gb · Corsair VX 550 · Cooler Master CM-690 HTPC: Atom D525,ION-2,3GB RAM,64GB SSD Ultima modifica di MarcioPG : 24-05-2011 alle 01:29. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Portsmouth - UK
Messaggi: 5385
|
mi allaccio al discorso del file manager..
ne ho creato uno in php che legge le immagini presenti in una cartella su ftp e le inserisce nel database...rinominandole ..mettendo tipo un prefisso 2011_ ogni volta che si inseriscono nuove foto vi è un controllo che vede le foto nuove e le inserisce nel db.. poichè faccio l'up di molte foto.. sarebbe meglio organizzarle per cartelle... volevo sapere se potevo in qualche modo leggere direttamente la cartella da ftp e procedere all'inserimento in base alle cartelle..
__________________
![]() ..1927: vincemmo scegliendo di non essere voi.
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2001
Città: Boscoreale (NA)
Messaggi: 421
|
certo che puoi farlo.
Come tu hai fatto lo script per leggere le immagini dentro una cartella, puoi fare la stessa cosa per leggere solo le cartelle. |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Feb 2003
Città: Portsmouth - UK
Messaggi: 5385
|
Quote:
__________________
![]() ..1927: vincemmo scegliendo di non essere voi.
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:09.












..1927: vincemmo scegliendo di non essere voi.









